summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/krsort_variation8.phpt
blob: f5a40cbeed72f3714b682ea433fe555a939bdaf2 (plain)
ofshex dumpascii
0000 2d 2d 54 45 53 54 2d 2d 0a 54 65 73 74 20 6b 72 73 6f 72 74 28 29 20 66 75 6e 63 74 69 6f 6e 20 --TEST--.Test.krsort().function.
0020 3a 20 75 73 61 67 65 20 76 61 72 69 61 74 69 6f 6e 73 20 2d 20 73 6f 72 74 20 6d 69 78 65 64 20 :.usage.variations.-.sort.mixed.
0040 76 61 6c 75 65 73 2c 20 27 73 6f 72 74 5f 66 6c 61 67 73 27 20 61 73 20 64 65 66 61 75 6c 74 2f values,.'sort_flags'.as.default/
0060 53 4f 52 54 5f 52 45 47 55 4c 41 52 20 28 4f 4b 20 74 6f 20 66 61 69 6c 20 61 73 20 72 65 73 75 SORT_REGULAR.(OK.to.fail.as.resu
0080 6c 74 20 69 73 20 75 6e 70 72 65 64 65 63 74 61 62 6c 65 29 20 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c lt.is.unpredectable)..--FILE--.<
00a0 3f 70 68 70 0a 2f 2a 20 50 72 6f 74 6f 74 79 70 65 20 20 3a 20 62 6f 6f 6c 20 6b 72 73 6f 72 74 ?php./*.Prototype..:.bool.krsort
00c0 20 28 20 61 72 72 61 79 20 26 24 61 72 72 61 79 20 5b 2c 20 69 6e 74 20 24 73 6f 72 74 5f 66 6c .(.array.&$array.[,.int.$sort_fl
00e0 61 67 73 5d 20 29 0a 20 2a 20 44 65 73 63 72 69 70 74 69 6f 6e 3a 20 53 6f 72 74 20 61 6e 20 61 ags].)..*.Description:.Sort.an.a
0100 72 72 61 79 20 62 79 20 6b 65 79 20 69 6e 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 2c 20 6d 61 rray.by.key.in.reverse.order,.ma
0120 69 6e 74 61 69 6e 69 6e 67 20 6b 65 79 20 74 6f 20 64 61 74 61 20 63 6f 72 72 65 6c 61 74 69 6f intaining.key.to.data.correlatio
0140 6e 2e 20 0a 20 2a 20 53 6f 75 72 63 65 20 63 6f 64 65 3a 20 65 78 74 2f 73 74 61 6e 64 61 72 64 n....*.Source.code:.ext/standard
0160 2f 61 72 72 61 79 2e 63 0a 2a 2f 0a 0a 2f 2a 0a 20 2a 20 74 65 73 74 69 6e 67 20 6b 72 73 6f 72 /array.c.*/../*..*.testing.krsor
0180 74 28 29 20 62 79 20 70 72 6f 76 69 64 69 6e 67 20 61 72 72 61 79 20 6f 66 20 6d 69 78 65 64 20 t().by.providing.array.of.mixed.
01a0 76 61 6c 75 65 73 20 66 6f 72 20 24 61 72 72 61 79 20 61 72 67 75 6d 65 6e 74 20 0a 20 2a 20 77 values.for.$array.argument...*.w
01c0 69 74 68 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6c 61 67 20 20 76 61 6c 75 65 73 3a 0a 20 2a 20 20 ith.following.flag..values:..*..
01e0 31 2e 66 6c 61 67 20 76 61 6c 75 65 20 61 73 20 64 65 66 75 61 6c 74 0a 20 2a 20 20 32 2e 53 4f 1.flag.value.as.defualt..*..2.SO
0200 52 54 5f 52 45 47 55 4c 41 52 20 2d 20 63 6f 6d 70 61 72 65 20 69 74 65 6d 73 20 6e 6f 72 6d 61 RT_REGULAR.-.compare.items.norma
0220 6c 6c 79 0a 2a 2f 0a 0a 65 63 68 6f 20 22 2a 2a 2a 20 54 65 73 74 69 6e 67 20 6b 72 73 6f 72 74 lly.*/..echo."***.Testing.krsort
0240 28 29 20 3a 20 75 73 61 67 65 20 76 61 72 69 61 74 69 6f 6e 73 20 2a 2a 2a 5c 6e 22 3b 0a 0a 2f ().:.usage.variations.***\n";../
0260 2f 20 6d 69 78 65 64 20 76 61 6c 75 65 20 61 72 72 61 79 20 77 69 74 68 20 64 69 66 66 65 72 65 /.mixed.value.array.with.differe
0280 6e 74 20 6b 65 79 20 76 61 6c 75 65 73 0a 24 6d 69 78 65 64 5f 76 61 6c 75 65 73 20 3d 20 61 72 nt.key.values.$mixed_values.=.ar
02a0 72 61 79 20 28 0a 20 20 22 61 72 72 61 79 31 22 20 3d 3e 20 61 72 72 61 79 28 29 2c 20 0a 20 20 ray.(..."array1".=>.array(),....
02c0 22 61 72 72 61 79 32 22 20 3d 3e 20 61 72 72 61 79 20 28 20 22 73 75 62 5f 61 72 72 61 79 5b 32 "array2".=>.array.(."sub_array[2
02e0 2c 31 5d 22 20 3d 3e 20 61 72 72 61 79 28 33 33 2c 2d 35 2c 36 29 2c 20 22 73 75 62 5f 61 72 72 ,1]".=>.array(33,-5,6),."sub_arr
0300 61 79 5b 32 2c 32 5d 22 20 3d 3e 20 61 72 72 61 79 28 31 31 29 2c 20 0a 20 20 20 20 20 20 20 20 ay[2,2]".=>.array(11),..........
0320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 75 62 5f 61 72 72 61 79 5b 32 2c 33 5d 22 20 3d .............."sub_array[2,3]".=
0340 3e 20 61 72 72 61 79 28 32 32 2c 2d 35 35 29 2c 20 22 73 75 62 5f 61 72 72 61 79 5b 32 2c 34 5d >.array(22,-55),."sub_array[2,4]
0360 22 20 3d 3e 20 61 72 72 61 79 28 29 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ".=>.array()....................
0380 20 20 29 2c 0a 20 20 34 20 3d 3e 20 34 2c 20 22 34 22 20 3d 3e 20 22 34 22 2c 20 34 2e 30 31 20 ..),...4.=>.4,."4".=>."4",.4.01.
03a0 3d 3e 20 34 2e 30 31 2c 20 22 62 22 20 3d 3e 20 22 62 22 2c 20 22 35 22 20 3d 3e 20 22 35 22 2c =>.4.01,."b".=>."b",."5".=>."5",
03c0 20 2d 32 20 3d 3e 20 2d 32 2c 20 2d 32 2e 30 31 20 3d 3e 20 2d 32 2e 30 31 2c 20 0a 20 20 2d 32 .-2.=>.-2,.-2.01.=>.-2.01,....-2
03e0 2e 39 38 39 38 39 20 3d 3e 20 2d 32 2e 39 38 39 38 39 2c 20 22 2d 2e 39 22 20 3d 3e 20 22 2d 2e .98989.=>.-2.98989,."-.9".=>."-.
0400 39 22 2c 20 22 54 72 75 65 22 20 3d 3e 20 22 54 72 75 65 22 2c 20 22 22 20 3d 3e 20 20 22 22 2c 9",."True".=>."True",."".=>.."",
0420 20 4e 55 4c 4c 20 3d 3e 20 4e 55 4c 4c 2c 0a 20 20 22 61 62 22 20 3d 3e 20 22 61 62 22 2c 20 22 .NULL.=>.NULL,..."ab".=>."ab",."
0440 61 62 63 64 22 20 3d 3e 20 22 61 62 63 64 22 2c 20 30 2e 30 31 20 3d 3e 20 30 2e 30 31 2c 20 2d abcd".=>."abcd",.0.01.=>.0.01,.-
0460 30 20 3d 3e 20 2d 30 2c 20 27 27 20 3d 3e 20 27 27 20 2c 0a 20 20 22 61 62 63 64 5c 78 30 30 61 0.=>.-0,.''.=>.''.,..."abcd\x00a
0480 62 63 64 5c 78 30 30 61 62 63 64 22 20 3d 3e 20 22 61 62 63 64 5c 78 30 30 61 62 63 64 5c 78 30 bcd\x00abcd".=>."abcd\x00abcd\x0
04a0 30 61 62 63 64 22 2c 20 30 2e 30 30 31 20 3d 3e 20 30 2e 30 30 31 0a 29 3b 0a 0a 65 63 68 6f 20 0abcd",.0.001.=>.0.001.);..echo.
04c0 22 5c 6e 2d 2d 20 54 65 73 74 69 6e 67 20 6b 72 73 6f 72 74 28 29 20 62 79 20 73 75 70 70 6c 79 "\n--.Testing.krsort().by.supply
04e0 69 6e 67 20 6d 69 78 65 64 20 76 61 6c 75 65 20 61 72 72 61 79 2c 20 27 66 6c 61 67 27 20 76 61 ing.mixed.value.array,.'flag'.va
0500 6c 75 65 20 69 73 20 64 65 66 75 61 6c 74 20 2d 2d 5c 6e 22 3b 0a 24 74 65 6d 70 5f 61 72 72 61 lue.is.defualt.--\n";.$temp_arra
0520 79 20 3d 20 24 6d 69 78 65 64 5f 76 61 6c 75 65 73 3b 0a 76 61 72 5f 64 75 6d 70 28 20 6b 72 73 y.=.$mixed_values;.var_dump(.krs
0540 6f 72 74 28 24 74 65 6d 70 5f 61 72 72 61 79 29 20 29 3b 0a 76 61 72 5f 64 75 6d 70 28 24 74 65 ort($temp_array).);.var_dump($te
0560 6d 70 5f 61 72 72 61 79 29 3b 0a 0a 65 63 68 6f 20 22 5c 6e 2d 2d 20 54 65 73 74 69 6e 67 20 6b mp_array);..echo."\n--.Testing.k
0580 72 73 6f 72 74 28 29 20 62 79 20 73 75 70 70 6c 79 69 6e 67 20 6d 69 78 65 64 20 76 61 6c 75 65 rsort().by.supplying.mixed.value
05a0 20 61 72 72 61 79 2c 20 27 66 6c 61 67 27 20 76 61 6c 75 65 20 69 73 20 53 4f 52 54 5f 52 45 47 .array,.'flag'.value.is.SORT_REG
05c0 55 4c 41 52 20 2d 2d 5c 6e 22 3b 0a 24 74 65 6d 70 5f 61 72 72 61 79 20 3d 20 24 6d 69 78 65 64 ULAR.--\n";.$temp_array.=.$mixed
05e0 5f 76 61 6c 75 65 73 3b 0a 76 61 72 5f 64 75 6d 70 28 20 6b 72 73 6f 72 74 28 24 74 65 6d 70 5f _values;.var_dump(.krsort($temp_
0600 61 72 72 61 79 2c 20 53 4f 52 54 5f 52 45 47 55 4c 41 52 29 20 29 3b 0a 76 61 72 5f 64 75 6d 70 array,.SORT_REGULAR).);.var_dump
0620 28 24 74 65 6d 70 5f 61 72 72 61 79 29 3b 0a 0a 65 63 68 6f 20 22 44 6f 6e 65 5c 6e 22 3b 0a 3f ($temp_array);..echo."Done\n";.?
0640 3e 0a 2d 2d 45 58 50 45 43 54 46 2d 2d 0a 2a 2a 2a 20 54 65 73 74 69 6e 67 20 6b 72 73 6f 72 74 >.--EXPECTF--.***.Testing.krsort
0660 28 29 20 3a 20 75 73 61 67 65 20 76 61 72 69 61 74 69 6f 6e 73 20 2a 2a 2a 0a 0a 2d 2d 20 54 65 ().:.usage.variations.***..--.Te
0680 73 74 69 6e 67 20 6b 72 73 6f 72 74 28 29 20 62 79 20 73 75 70 70 6c 79 69 6e 67 20 6d 69 78 65 sting.krsort().by.supplying.mixe
06a0 64 20 76 61 6c 75 65 20 61 72 72 61 79 2c 20 27 66 6c 61 67 27 20 76 61 6c 75 65 20 69 73 20 64 d.value.array,.'flag'.value.is.d
06c0 65 66 75 61 6c 74 20 2d 2d 0a 62 6f 6f 6c 28 74 72 75 65 29 0a 61 72 72 61 79 28 31 33 29 20 7b efualt.--.bool(true).array(13).{
06e0 0a 20 20 5b 35 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 31 29 20 22 35 22 0a 20 20 5b 34 5d 3d 3e ...[5]=>...string(1)."5"...[4]=>
0700 0a 20 20 66 6c 6f 61 74 28 34 2e 30 31 29 0a 20 20 5b 22 62 22 5d 3d 3e 0a 20 20 73 74 72 69 6e ...float(4.01)...["b"]=>...strin
0720 67 28 31 29 20 22 62 22 0a 20 20 5b 22 61 72 72 61 79 32 22 5d 3d 3e 0a 20 20 61 72 72 61 79 28 g(1)."b"...["array2"]=>...array(
0740 34 29 20 7b 0a 20 20 20 20 5b 22 73 75 62 5f 61 72 72 61 79 5b 32 2c 31 5d 22 5d 3d 3e 0a 20 20 4).{.....["sub_array[2,1]"]=>...
0760 20 20 61 72 72 61 79 28 33 29 20 7b 0a 20 20 20 20 20 20 5b 30 5d 3d 3e 0a 20 20 20 20 20 20 69 ..array(3).{.......[0]=>.......i
0780 6e 74 28 33 33 29 0a 20 20 20 20 20 20 5b 31 5d 3d 3e 0a 20 20 20 20 20 20 69 6e 74 28 2d 35 29 nt(33).......[1]=>.......int(-5)
07a0 0a 20 20 20 20 20 20 5b 32 5d 3d 3e 0a 20 20 20 20 20 20 69 6e 74 28 36 29 0a 20 20 20 20 7d 0a .......[2]=>.......int(6).....}.
07c0 20 20 20 20 5b 22 73 75 62 5f 61 72 72 61 79 5b 32 2c 32 5d 22 5d 3d 3e 0a 20 20 20 20 61 72 72 ....["sub_array[2,2]"]=>.....arr
07e0 61 79 28 31 29 20 7b 0a 20 20 20 20 20 20 5b 30 5d 3d 3e 0a 20 20 20 20 20 20 69 6e 74 28 31 31 ay(1).{.......[0]=>.......int(11
0800 29 0a 20 20 20 20 7d 0a 20 20 20 20 5b 22 73 75 62 5f 61 72 72 61 79 5b 32 2c 33 5d 22 5d 3d 3e ).....}.....["sub_array[2,3]"]=>
0820 0a 20 20 20 20 61 72 72 61 79 28 32 29 20 7b 0a 20 20 20 20 20 20 5b 30 5d 3d 3e 0a 20 20 20 20 .....array(2).{.......[0]=>.....
0840 20 20 69 6e 74 28 32 32 29 0a 20 20 20 20 20 20 5b 31 5d 3d 3e 0a 20 20 20 20 20 20 69 6e 74 28 ..int(22).......[1]=>.......int(
0860 2d 35 35 29 0a 20 20 20 20 7d 0a 20 20 20 20 5b 22 73 75 62 5f 61 72 72 61 79 5b 32 2c 34 5d 22 -55).....}.....["sub_array[2,4]"
0880 5d 3d 3e 0a 20 20 20 20 61 72 72 61 79 28 30 29 20 7b 0a 20 20 20 20 7d 0a 20 20 7d 0a 20 20 5b ]=>.....array(0).{.....}...}...[
08a0 22 61 72 72 61 79 31 22 5d 3d 3e 0a 20 20 61 72 72 61 79 28 30 29 20 7b 0a 20 20 7d 0a 20 20 5b "array1"]=>...array(0).{...}...[
08c0 22 61 62 63 64 00 61 62 63 64 00 61 62 63 64 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 31 34 29 "abcd.abcd.abcd"]=>...string(14)
08e0 20 22 61 62 63 64 00 61 62 63 64 00 61 62 63 64 22 0a 20 20 5b 22 61 62 63 64 22 5d 3d 3e 0a 20 ."abcd.abcd.abcd"...["abcd"]=>..
0900 20 73 74 72 69 6e 67 28 34 29 20 22 61 62 63 64 22 0a 20 20 5b 22 61 62 22 5d 3d 3e 0a 20 20 73 .string(4)."abcd"...["ab"]=>...s
0920 74 72 69 6e 67 28 32 29 20 22 61 62 22 0a 20 20 5b 22 54 72 75 65 22 5d 3d 3e 0a 20 20 73 74 72 tring(2)."ab"...["True"]=>...str
0940 69 6e 67 28 34 29 20 22 54 72 75 65 22 0a 20 20 5b 30 5d 3d 3e 0a 20 20 66 6c 6f 61 74 28 30 2e ing(4)."True"...[0]=>...float(0.
0960 30 30 31 29 0a 20 20 5b 22 2d 2e 39 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 33 29 20 22 2d 2e 001)...["-.9"]=>...string(3)."-.
0980 39 22 0a 20 20 5b 22 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 30 29 20 22 22 0a 20 20 5b 2d 32 9"...[""]=>...string(0).""...[-2
09a0 5d 3d 3e 0a 20 20 66 6c 6f 61 74 28 2d 32 2e 39 38 39 38 39 29 0a 7d 0a 0a 2d 2d 20 54 65 73 74 ]=>...float(-2.98989).}..--.Test
09c0 69 6e 67 20 6b 72 73 6f 72 74 28 29 20 62 79 20 73 75 70 70 6c 79 69 6e 67 20 6d 69 78 65 64 20 ing.krsort().by.supplying.mixed.
09e0 76 61 6c 75 65 20 61 72 72 61 79 2c 20 27 66 6c 61 67 27 20 76 61 6c 75 65 20 69 73 20 53 4f 52 value.array,.'flag'.value.is.SOR
0a00 54 5f 52 45 47 55 4c 41 52 20 2d 2d 0a 62 6f 6f 6c 28 74 72 75 65 29 0a 61 72 72 61 79 28 31 33 T_REGULAR.--.bool(true).array(13
0a20 29 20 7b 0a 20 20 5b 35 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 31 29 20 22 35 22 0a 20 20 5b 34 ).{...[5]=>...string(1)."5"...[4
0a40 5d 3d 3e 0a 20 20 66 6c 6f 61 74 28 34 2e 30 31 29 0a 20 20 5b 22 62 22 5d 3d 3e 0a 20 20 73 74 ]=>...float(4.01)...["b"]=>...st
0a60 72 69 6e 67 28 31 29 20 22 62 22 0a 20 20 5b 22 61 72 72 61 79 32 22 5d 3d 3e 0a 20 20 61 72 72 ring(1)."b"...["array2"]=>...arr
0a80 61 79 28 34 29 20 7b 0a 20 20 20 20 5b 22 73 75 62 5f 61 72 72 61 79 5b 32 2c 31 5d 22 5d 3d 3e ay(4).{.....["sub_array[2,1]"]=>
0aa0 0a 20 20 20 20 61 72 72 61 79 28 33 29 20 7b 0a 20 20 20 20 20 20 5b 30 5d 3d 3e 0a 20 20 20 20 .....array(3).{.......[0]=>.....
0ac0 20 20 69 6e 74 28 33 33 29 0a 20 20 20 20 20 20 5b 31 5d 3d 3e 0a 20 20 20 20 20 20 69 6e 74 28 ..int(33).......[1]=>.......int(
0ae0 2d 35 29 0a 20 20 20 20 20 20 5b 32 5d 3d 3e 0a 20 20 20 20 20 20 69 6e 74 28 36 29 0a 20 20 20 -5).......[2]=>.......int(6)....
0b00 20 7d 0a 20 20 20 20 5b 22 73 75 62 5f 61 72 72 61 79 5b 32 2c 32 5d 22 5d 3d 3e 0a 20 20 20 20 .}.....["sub_array[2,2]"]=>.....
0b20 61 72 72 61 79 28 31 29 20 7b 0a 20 20 20 20 20 20 5b 30 5d 3d 3e 0a 20 20 20 20 20 20 69 6e 74 array(1).{.......[0]=>.......int
0b40 28 31 31 29 0a 20 20 20 20 7d 0a 20 20 20 20 5b 22 73 75 62 5f 61 72 72 61 79 5b 32 2c 33 5d 22 (11).....}.....["sub_array[2,3]"
0b60 5d 3d 3e 0a 20 20 20 20 61 72 72 61 79 28 32 29 20 7b 0a 20 20 20 20 20 20 5b 30 5d 3d 3e 0a 20 ]=>.....array(2).{.......[0]=>..
0b80 20 20 20 20 20 69 6e 74 28 32 32 29 0a 20 20 20 20 20 20 5b 31 5d 3d 3e 0a 20 20 20 20 20 20 69 .....int(22).......[1]=>.......i
0ba0 6e 74 28 2d 35 35 29 0a 20 20 20 20 7d 0a 20 20 20 20 5b 22 73 75 62 5f 61 72 72 61 79 5b 32 2c nt(-55).....}.....["sub_array[2,
0bc0 34 5d 22 5d 3d 3e 0a 20 20 20 20 61 72 72 61 79 28 30 29 20 7b 0a 20 20 20 20 7d 0a 20 20 7d 0a 4]"]=>.....array(0).{.....}...}.
0be0 20 20 5b 22 61 72 72 61 79 31 22 5d 3d 3e 0a 20 20 61 72 72 61 79 28 30 29 20 7b 0a 20 20 7d 0a ..["array1"]=>...array(0).{...}.
0c00 20 20 5b 22 61 62 63 64 00 61 62 63 64 00 61 62 63 64 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 ..["abcd.abcd.abcd"]=>...string(
0c20 31 34 29 20 22 61 62 63 64 00 61 62 63 64 00 61 62 63 64 22 0a 20 20 5b 22 61 62 63 64 22 5d 3d 14)."abcd.abcd.abcd"...["abcd"]=
0c40 3e 0a 20 20 73 74 72 69 6e 67 28 34 29 20 22 61 62 63 64 22 0a 20 20 5b 22 61 62 22 5d 3d 3e 0a >...string(4)."abcd"...["ab"]=>.
0c60 20 20 73 74 72 69 6e 67 28 32 29 20 22 61 62 22 0a 20 20 5b 22 54 72 75 65 22 5d 3d 3e 0a 20 20 ..string(2)."ab"...["True"]=>...
0c80 73 74 72 69 6e 67 28 34 29 20 22 54 72 75 65 22 0a 20 20 5b 30 5d 3d 3e 0a 20 20 66 6c 6f 61 74 string(4)."True"...[0]=>...float
0ca0 28 30 2e 30 30 31 29 0a 20 20 5b 22 2d 2e 39 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 33 29 20 (0.001)...["-.9"]=>...string(3).
0cc0 22 2d 2e 39 22 0a 20 20 5b 22 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 30 29 20 22 22 0a 20 20 "-.9"...[""]=>...string(0).""...
0ce0 5b 2d 32 5d 3d 3e 0a 20 20 66 6c 6f 61 74 28 2d 32 2e 39 38 39 38 39 29 0a 7d 0a 44 6f 6e 65 0a [-2]=>...float(-2.98989).}.Done.