summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/ksort_variation8.phpt
blob: f827883ce9827f34152ac63d41cc1e7f3e41dfbb (plain)
ofshex dumpascii
0000 2d 2d 54 45 53 54 2d 2d 0a 54 65 73 74 20 6b 73 6f 72 74 28 29 20 66 75 6e 63 74 69 6f 6e 20 3a --TEST--.Test.ksort().function.:
0020 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 76 .usage.variations.-.sort.mixed.v
0040 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 53 alues,.'sort_flags'.as.default/S
0060 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 6c ORT_REGULAR.(OK.to.fail.as.resul
0080 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 3f t.is.unpredectable)..--FILE--.<?
00a0 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 73 6f 72 74 20 28 php./*.Prototype..:.bool.ksort.(
00c0 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 61 67 .array.&$array.[,.int.$sort_flag
00e0 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 72 72 s].)..*.Description:.Sort.an.arr
0100 61 79 20 62 79 20 6b 65 79 2c 20 6d 61 69 6e 74 61 69 6e 69 6e 67 20 6b 65 79 20 74 6f 20 64 61 ay.by.key,.maintaining.key.to.da
0120 74 61 20 63 6f 72 72 65 6c 61 74 69 6f 6e 2e 20 0a 20 2a 20 53 6f 75 72 63 65 20 63 6f 64 65 3a ta.correlation....*.Source.code:
0140 20 65 78 74 2f 73 74 61 6e 64 61 72 64 2f 61 72 72 61 79 2e 63 0a 2a 2f 0a 0a 2f 2a 0a 20 2a 20 .ext/standard/array.c.*/../*..*.
0160 74 65 73 74 69 6e 67 20 6b 73 6f 72 74 28 29 20 62 79 20 70 72 6f 76 69 64 69 6e 67 20 61 72 72 testing.ksort().by.providing.arr
0180 61 79 20 6f 66 20 6d 69 78 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20 24 61 72 72 61 79 20 61 72 ay.of.mixed.values.for.$array.ar
01a0 67 75 6d 65 6e 74 20 77 69 74 68 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6c 61 67 20 76 61 6c 75 65 gument.with.following.flag.value
01c0 73 3a 0a 20 2a 20 20 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 s:..*..1.flag.value.as.defualt..
01e0 2a 20 20 32 2e 53 4f 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 *..2.SORT_REGULAR.-.compare.item
0200 73 20 6e 6f 72 6d 61 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 s.normally.*/..echo."***.Testing
0220 20 6b 73 6f 72 74 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 .ksort().:.usage.variations.***\
0240 6e 22 3b 0a 0a 2f 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 n";..//.mixed.value.array.with.d
0260 69 66 66 65 72 65 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 ifferent.key.values.$mixed_value
0280 73 20 3d 20 61 72 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 s.=.array.(..."array1".=>.array(
02a0 29 2c 20 0a 20 20 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 ),...."array2".=>.array.(."sub_a
02c0 72 72 61 79 5b 32 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 rray[2,1]".=>.array(33,-5,6),."s
02e0 75 62 5f 61 72 72 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 ub_array[2,2]".=>.array(11),....
0300 20 20 20 20 20 20 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 ...................."sub_array[2
0320 2c 33 5d 22 20 3d 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 ,3]".=>.array(22,-55),."sub_arra
0340 79 5b 32 2c 34 5d 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 y[2,4]".=>.array()..............
0360 20 20 20 20 20 20 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 ........),...4.=>.4,."4".=>."4",
0380 20 34 2e 30 31 20 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 .4.01.=>.4.01,."b".=>."b",."5".=
03a0 3e 20 22 35 22 2c 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 >."5",.-2.=>.-2,.-2.01.=>.-2.01,
03c0 20 0a 20 20 2d 32 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 ....-2.98989.=>.-2.98989,."-.9".
03e0 3d 3e 20 22 2d 2e 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 =>."-.9",."True".=>."True",."".=
0400 3e 20 20 22 22 2c 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 >.."",.NULL.=>.NULL,..."ab".=>."
0420 61 62 22 2c 20 22 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 ab",."abcd".=>."abcd",.0.01.=>.0
0440 2e 30 31 2c 20 2d 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 .01,.-0.=>.-0,.''.=>.''.,..."abc
0460 64 5c 78 30 30 61 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 d\x00abcd\x00abcd".=>."abcd\x00a
0480 62 63 64 5c 78 30 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 bcd\x00abcd",.0.001.=>.0.001.);.
04a0 0a 65 63 68 6f 20 22 5c 6e 2d 2d 20 54 65 73 74 69 6e 67 20 6b 73 6f 72 74 28 29 20 62 79 20 73 .echo."\n--.Testing.ksort().by.s
04c0 75 70 70 6c 79 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 upplying.mixed.value.array,.'fla
04e0 67 27 20 76 61 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 g'.value.is.defualt.--\n";.$temp
0500 5f 61 72 72 61 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 _array.=.$mixed_values;.var_dump
0520 28 20 6b 73 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 (.ksort($temp_array).);.var_dump
0540 28 24 74 65 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 ($temp_array);..echo."\n--.Testi
0560 6e 67 20 6b 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 ng.ksort().by.supplying.mixed.va
0580 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 54 5f lue.array,.'flag'.value.is.SORT_
05a0 52 45 47 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 REGULAR.--\n";.$temp_array.=.$mi
05c0 78 65 64 5f 76 61 6c 75 65 73 3b 0a 76 61 72 5f 64 75 6d 70 28 20 6b 73 6f 72 74 28 24 74 65 6d xed_values;.var_dump(.ksort($tem
05e0 70 5f 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 p_array,.SORT_REGULAR).);.var_du
0600 6d 70 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 mp($temp_array);..echo."Done\n";
0620 0a 3f 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 73 6f 72 .?>.--EXPECTF--.***.Testing.ksor
0640 74 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 t().:.usage.variations.***..--.T
0660 65 73 74 69 6e 67 20 6b 73 6f 72 74 28 29 20 62 79 20 73 75 70 70 6c 79 69 6e 67 20 6d 69 78 65 esting.ksort().by.supplying.mixe
0680 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
06a0 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).{
06c0 0a 20 20 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 20 20 5b 22 ...[-2]=>...float(-2.98989)...["
06e0 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 30 29 20 22 22 0a 20 20 5b 22 2d 2e 39 22 5d 3d 3e 0a "]=>...string(0).""...["-.9"]=>.
0700 20 20 73 74 72 69 6e 67 28 33 29 20 22 2d 2e 39 22 0a 20 20 5b 22 54 72 75 65 22 5d 3d 3e 0a 20 ..string(3)."-.9"...["True"]=>..
0720 20 73 74 72 69 6e 67 28 34 29 20 22 54 72 75 65 22 0a 20 20 5b 22 61 62 22 5d 3d 3e 0a 20 20 73 .string(4)."True"...["ab"]=>...s
0740 74 72 69 6e 67 28 32 29 20 22 61 62 22 0a 20 20 5b 22 61 62 63 64 22 5d 3d 3e 0a 20 20 73 74 72 tring(2)."ab"...["abcd"]=>...str
0760 69 6e 67 28 34 29 20 22 61 62 63 64 22 0a 20 20 5b 22 61 72 72 61 79 31 22 5d 3d 3e 0a 20 20 61 ing(4)."abcd"...["array1"]=>...a
0780 72 72 61 79 28 30 29 20 7b 0a 20 20 7d 0a 20 20 5b 22 61 72 72 61 79 32 22 5d 3d 3e 0a 20 20 61 rray(0).{...}...["array2"]=>...a
07a0 72 72 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 rray(4).{.....["sub_array[2,1]"]
07c0 3d 3e 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 =>.....array(3).{.......[0]=>...
07e0 20 20 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 ....int(33).......[1]=>.......in
0800 74 28 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 t(-5).......[2]=>.......int(6)..
0820 20 20 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 ...}.....["sub_array[2,2]"]=>...
0840 20 20 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 ..array(1).{.......[0]=>.......i
0860 6e 74 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 nt(11).....}.....["sub_array[2,3
0880 5d 22 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 ]"]=>.....array(2).{.......[0]=>
08a0 0a 20 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 .......int(22).......[1]=>......
08c0 20 69 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 .int(-55).....}.....["sub_array[
08e0 32 2c 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 2,4]"]=>.....array(0).{.....}...
0900 7d 0a 20 20 5b 22 62 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 31 29 20 22 62 22 0a 20 20 5b 30 }...["b"]=>...string(1)."b"...[0
0920 5d 3d 3e 0a 20 20 66 6c 6f 61 74 28 30 2e 30 30 31 29 0a 20 20 5b 22 61 62 63 64 00 61 62 63 64 ]=>...float(0.001)...["abcd.abcd
0940 00 61 62 63 64 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 31 34 29 20 22 61 62 63 64 00 61 62 63 .abcd"]=>...string(14)."abcd.abc
0960 64 00 61 62 63 64 22 0a 20 20 5b 34 5d 3d 3e 0a 20 20 66 6c 6f 61 74 28 34 2e 30 31 29 0a 20 20 d.abcd"...[4]=>...float(4.01)...
0980 5b 35 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 31 29 20 22 35 22 0a 7d 0a 0a 2d 2d 20 54 65 73 74 [5]=>...string(1)."5".}..--.Test
09a0 69 6e 67 20 6b 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 ing.ksort().by.supplying.mixed.v
09c0 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 54 alue.array,.'flag'.value.is.SORT
09e0 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 29 _REGULAR.--.bool(true).array(13)
0a00 20 7b 0a 20 20 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 20 20 .{...[-2]=>...float(-2.98989)...
0a20 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 22 2d 2e 39 22 5d 3d [""]=>...string(0).""...["-.9"]=
0a40 3e 0a 20 20 73 74 72 69 6e 67 28 33 29 20 22 2d 2e 39 22 0a 20 20 5b 22 54 72 75 65 22 5d 3d 3e >...string(3)."-.9"...["True"]=>
0a60 0a 20 20 73 74 72 69 6e 67 28 34 29 20 22 54 72 75 65 22 0a 20 20 5b 22 61 62 22 5d 3d 3e 0a 20 ...string(4)."True"...["ab"]=>..
0a80 20 73 74 72 69 6e 67 28 32 29 20 22 61 62 22 0a 20 20 5b 22 61 62 63 64 22 5d 3d 3e 0a 20 20 73 .string(2)."ab"...["abcd"]=>...s
0aa0 74 72 69 6e 67 28 34 29 20 22 61 62 63 64 22 0a 20 20 5b 22 61 72 72 61 79 31 22 5d 3d 3e 0a 20 tring(4)."abcd"...["array1"]=>..
0ac0 20 61 72 72 61 79 28 30 29 20 7b 0a 20 20 7d 0a 20 20 5b 22 61 72 72 61 79 32 22 5d 3d 3e 0a 20 .array(0).{...}...["array2"]=>..
0ae0 20 61 72 72 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 .array(4).{.....["sub_array[2,1]
0b00 22 5d 3d 3e 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 "]=>.....array(3).{.......[0]=>.
0b20 20 20 20 20 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 ......int(33).......[1]=>.......
0b40 69 6e 74 28 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 int(-5).......[2]=>.......int(6)
0b60 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 32 5d 22 5d 3d 3e 0a .....}.....["sub_array[2,2]"]=>.
0b80 20 20 20 20 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 ....array(1).{.......[0]=>......
0ba0 20 69 6e 74 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 .int(11).....}.....["sub_array[2
0bc0 2c 33 5d 22 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 ,3]"]=>.....array(2).{.......[0]
0be0 3d 3e 0a 20 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 =>.......int(22).......[1]=>....
0c00 20 20 20 69 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 ...int(-55).....}.....["sub_arra
0c20 79 5b 32 2c 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 y[2,4]"]=>.....array(0).{.....}.
0c40 20 20 7d 0a 20 20 5b 22 62 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 31 29 20 22 62 22 0a 20 20 ..}...["b"]=>...string(1)."b"...
0c60 5b 30 5d 3d 3e 0a 20 20 66 6c 6f 61 74 28 30 2e 30 30 31 29 0a 20 20 5b 22 61 62 63 64 00 61 62 [0]=>...float(0.001)...["abcd.ab
0c80 63 64 00 61 62 63 64 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 31 34 29 20 22 61 62 63 64 00 61 cd.abcd"]=>...string(14)."abcd.a
0ca0 62 63 64 00 61 62 63 64 22 0a 20 20 5b 34 5d 3d 3e 0a 20 20 66 6c 6f 61 74 28 34 2e 30 31 29 0a bcd.abcd"...[4]=>...float(4.01).
0cc0 20 20 5b 35 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 31 29 20 22 35 22 0a 7d 0a 44 6f 6e 65 0a ..[5]=>...string(1)."5".}.Done.