summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/arsort_variation11.phpt
blob: b70c3ad6c4cad6cbf14c5b07b0e69f34c2eb46da (plain)
ofshex dumpascii
0000 2d 2d 54 45 53 54 2d 2d 0a 54 65 73 74 20 61 72 73 6f 72 74 28 29 20 66 75 6e 63 74 69 6f 6e 20 --TEST--.Test.arsort().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 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f lt.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 61 72 73 6f 72 74 20 php./*.Prototype..:.bool.arsort.
00c0 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 61 (.array.&$array.[,.int.$sort_fla
00e0 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 72 gs].)..*.Description:.Sort.an.ar
0100 72 61 79 20 61 6e 64 20 6d 61 69 6e 74 61 69 6e 20 69 6e 64 65 78 20 61 73 73 6f 63 69 61 74 69 ray.and.maintain.index.associati
0120 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6c 65 6d 65 6e 74 73 20 77 69 6c on..................Elements.wil
0140 6c 20 62 65 20 61 72 72 61 6e 67 65 64 20 66 72 6f 6d 20 68 69 67 68 65 73 74 20 74 6f 20 6c 6f l.be.arranged.from.highest.to.lo
0160 77 65 73 74 20 77 68 65 6e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 63 6f 6d 70 west.when.this.function.has.comp
0180 6c 65 74 65 64 2e 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 leted...*.Source.code:.ext/stand
01a0 61 72 64 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 61 72 ard/array.c.*/../*..*.testing.ar
01c0 73 6f 72 74 28 29 20 62 79 20 70 72 6f 76 69 64 69 6e 67 20 6d 69 78 65 64 20 76 61 6c 75 65 20 sort().by.providing.mixed.value.
01e0 61 72 72 61 79 20 66 6f 72 20 24 61 72 72 61 79 20 61 72 67 75 6d 65 6e 74 20 77 69 74 68 20 66 array.for.$array.argument.with.f
0200 6f 6c 6c 6f 77 69 6e 67 20 66 6c 61 67 20 76 61 6c 75 65 73 2e 0a 20 2a 20 31 2e 66 6c 61 67 20 ollowing.flag.values...*.1.flag.
0220 76 61 6c 75 65 20 61 73 20 64 65 66 61 75 6c 74 0a 20 2a 20 32 2e 53 4f 52 54 5f 52 45 47 55 4c value.as.default..*.2.SORT_REGUL
0240 41 52 20 2d 20 63 6f 6d 70 61 72 65 20 69 74 65 6d 73 20 6e 6f 72 6d 61 6c 6c 79 0a 2a 2f 0a 0a AR.-.compare.items.normally.*/..
0260 65 63 68 6f 20 22 2a 2a 2a 20 54 65 73 74 69 6e 67 20 61 72 73 6f 72 74 28 29 20 3a 20 75 73 61 echo."***.Testing.arsort().:.usa
0280 67 65 20 76 61 72 69 61 74 69 6f 6e 73 20 2a 2a 2a 5c 6e 22 3b 0a 0a 2f 2f 20 6d 69 78 65 64 20 ge.variations.***\n";..//.mixed.
02a0 76 61 6c 75 65 20 61 72 72 61 79 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 6b 65 79 20 76 value.array.with.different.key.v
02c0 61 6c 75 65 73 0a 24 6d 69 78 65 64 5f 76 61 6c 75 65 73 20 3d 20 61 72 72 61 79 20 28 0a 20 20 alues.$mixed_values.=.array.(...
02e0 22 61 72 72 61 79 31 22 20 3d 3e 20 61 72 72 61 79 28 29 2c 0a 20 20 22 61 72 72 61 79 32 22 20 "array1".=>.array(),..."array2".
0300 3d 3e 20 61 72 72 61 79 20 28 20 22 73 75 62 5f 61 72 72 61 79 5b 32 2c 31 5d 22 20 3d 3e 20 61 =>.array.(."sub_array[2,1]".=>.a
0320 72 72 61 79 28 33 33 2c 2d 35 2c 36 29 2c 20 22 73 75 62 5f 61 72 72 61 79 5b 32 2c 32 5d 22 20 rray(33,-5,6),."sub_array[2,2]".
0340 3d 3e 20 61 72 72 61 79 28 31 31 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =>.array(11),...................
0360 20 20 20 20 22 73 75 62 5f 61 72 72 61 79 5b 32 2c 33 5d 22 20 3d 3e 20 61 72 72 61 79 28 32 32 ...."sub_array[2,3]".=>.array(22
0380 2c 2d 35 35 29 2c 20 22 73 75 62 5f 61 72 72 61 79 5b 32 2c 34 5d 22 20 3d 3e 20 61 72 72 61 79 ,-55),."sub_array[2,4]".=>.array
03a0 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 2c 0a 20 20 34 20 3d 3e ().....................),...4.=>
03c0 20 34 2c 20 22 34 22 20 3d 3e 20 22 34 22 2c 20 34 2e 30 31 20 3d 3e 20 34 2e 30 31 2c 20 22 62 .4,."4".=>."4",.4.01.=>.4.01,."b
03e0 22 20 3d 3e 20 22 62 22 2c 20 22 35 22 20 3d 3e 20 22 35 22 2c 20 2d 32 20 3d 3e 20 2d 32 2c 20 ".=>."b",."5".=>."5",.-2.=>.-2,.
0400 2d 32 2e 30 31 20 3d 3e 20 2d 32 2e 30 31 2c 0a 20 20 2d 32 2e 39 38 39 38 39 20 3d 3e 20 2d 32 -2.01.=>.-2.01,...-2.98989.=>.-2
0420 2e 39 38 39 38 39 2c 20 22 2d 2e 39 22 20 3d 3e 20 22 2d 2e 39 22 2c 20 22 54 72 75 65 22 20 3d .98989,."-.9".=>."-.9",."True".=
0440 3e 20 22 54 72 75 65 22 2c 20 22 22 20 3d 3e 20 20 22 22 2c 20 4e 55 4c 4c 20 3d 3e 20 4e 55 4c >."True",."".=>.."",.NULL.=>.NUL
0460 4c 2c 0a 20 20 22 61 62 22 20 3d 3e 20 22 61 62 22 2c 20 22 61 62 63 64 22 20 3d 3e 20 22 61 62 L,..."ab".=>."ab",."abcd".=>."ab
0480 63 64 22 2c 20 30 2e 30 31 20 3d 3e 20 30 2e 30 31 2c 20 2d 30 20 3d 3e 20 2d 30 2c 20 27 27 20 cd",.0.01.=>.0.01,.-0.=>.-0,.''.
04a0 3d 3e 20 27 27 20 2c 0a 20 20 22 61 62 63 64 5c 78 30 30 61 62 63 64 5c 78 30 30 61 62 63 64 22 =>.''.,..."abcd\x00abcd\x00abcd"
04c0 20 3d 3e 20 22 61 62 63 64 5c 78 30 30 61 62 63 64 5c 78 30 30 61 62 63 64 22 2c 20 30 2e 30 30 .=>."abcd\x00abcd\x00abcd",.0.00
04e0 31 20 3d 3e 20 30 2e 30 30 31 0a 29 3b 0a 0a 65 63 68 6f 20 22 5c 6e 2d 2d 20 54 65 73 74 69 6e 1.=>.0.001.);..echo."\n--.Testin
0500 67 20 61 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 g.arsort().by.supplying.mixed.va
0520 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 65 66 61 75 lue.array,.'flag'.value.is.defau
0540 6c 74 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 5f 76 lt.--\n";.$temp_array.=.$mixed_v
0560 61 6c 75 65 73 3b 0a 76 61 72 5f 64 75 6d 70 28 20 61 72 73 6f 72 74 28 24 74 65 6d 70 5f 61 72 alues;.var_dump(.arsort($temp_ar
0580 72 61 79 29 20 29 3b 0a 76 61 72 5f 64 75 6d 70 28 24 74 65 6d 70 5f 61 72 72 61 79 29 3b 0a 0a ray).);.var_dump($temp_array);..
05a0 65 63 68 6f 20 22 5c 6e 2d 2d 20 54 65 73 74 69 6e 67 20 61 72 73 6f 72 74 28 29 20 62 79 20 73 echo."\n--.Testing.arsort().by.s
05c0 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
05e0 67 27 20 76 61 6c 75 65 20 69 73 20 53 4f 52 54 5f 52 45 47 55 4c 41 52 20 2d 2d 5c 6e 22 3b 0a g'.value.is.SORT_REGULAR.--\n";.
0600 24 74 65 6d 70 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 $temp_array.=.$mixed_values;.var
0620 5f 64 75 6d 70 28 20 61 72 73 6f 72 74 28 24 74 65 6d 70 5f 61 72 72 61 79 2c 20 53 4f 52 54 5f _dump(.arsort($temp_array,.SORT_
0640 52 45 47 55 4c 41 52 29 20 29 3b 0a 76 61 72 5f 64 75 6d 70 28 24 74 65 6d 70 5f 61 72 72 61 79 REGULAR).);.var_dump($temp_array
0660 29 3b 0a 0a 65 63 68 6f 20 22 44 6f 6e 65 5c 6e 22 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 46 2d );..echo."Done\n";.?>.--EXPECTF-
0680 2d 0a 2a 2a 2a 20 54 65 73 74 69 6e 67 20 61 72 73 6f 72 74 28 29 20 3a 20 75 73 61 67 65 20 76 -.***.Testing.arsort().:.usage.v
06a0 61 72 69 61 74 69 6f 6e 73 20 2a 2a 2a 0a 0a 2d 2d 20 54 65 73 74 69 6e 67 20 61 72 73 6f 72 74 ariations.***..--.Testing.arsort
06c0 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 20 61 72 72 61 ().by.supplying.mixed.value.arra
06e0 79 2c 20 27 66 6c 61 67 27 20 76 61 6c 75 65 20 69 73 20 64 65 66 61 75 6c 74 20 2d 2d 0a 62 6f y,.'flag'.value.is.default.--.bo
0700 6f 6c 28 74 72 75 65 29 0a 61 72 72 61 79 28 31 33 29 20 7b 0a 20 20 5b 22 61 72 72 61 79 32 22 ol(true).array(13).{...["array2"
0720 5d 3d 3e 0a 20 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 ]=>...array(4).{.....["sub_array
0740 5b 32 2c 31 5d 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 [2,1]"]=>.....array(3).{.......[
0760 30 5d 3d 3e 0a 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 0]=>.......int(33).......[1]=>..
0780 20 20 20 20 20 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 .....int(-5).......[2]=>.......i
07a0 6e 74 28 36 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 32 5d nt(6).....}.....["sub_array[2,2]
07c0 22 5d 3d 3e 0a 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 "]=>.....array(1).{.......[0]=>.
07e0 20 20 20 20 20 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 ......int(11).....}.....["sub_ar
0800 72 61 79 5b 32 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 ray[2,3]"]=>.....array(2).{.....
0820 20 20 5b 30 5d 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 ..[0]=>.......int(22).......[1]=
0840 3e 0a 20 20 20 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 >.......int(-55).....}.....["sub
0860 5f 61 72 72 61 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 _array[2,4]"]=>.....array(0).{..
0880 20 20 20 7d 0a 20 20 7d 0a 20 20 5b 22 61 72 72 61 79 31 22 5d 3d 3e 0a 20 20 61 72 72 61 79 28 ...}...}...["array1"]=>...array(
08a0 30 29 20 7b 0a 20 20 7d 0a 20 20 5b 34 5d 3d 3e 0a 20 20 66 6c 6f 61 74 28 34 2e 30 31 29 0a 20 0).{...}...[4]=>...float(4.01)..
08c0 20 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 62 22 5d 3d 3e 0a .[0]=>...float(0.001)...["b"]=>.
08e0 20 20 73 74 72 69 6e 67 28 31 29 20 22 62 22 0a 20 20 5b 22 61 62 63 64 00 61 62 63 64 00 61 62 ..string(1)."b"...["abcd.abcd.ab
0900 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 64 00 61 cd"]=>...string(14)."abcd.abcd.a
0920 62 63 64 22 0a 20 20 5b 22 61 62 63 64 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 34 29 20 22 61 bcd"...["abcd"]=>...string(4)."a
0940 62 63 64 22 0a 20 20 5b 22 61 62 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 32 29 20 22 61 62 22 bcd"...["ab"]=>...string(2)."ab"
0960 0a 20 20 5b 22 54 72 75 65 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 34 29 20 22 54 72 75 65 22 ...["True"]=>...string(4)."True"
0980 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 22 2d 2e 39 ...[5]=>...string(1)."5"...["-.9
09a0 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 33 29 20 22 2d 2e 39 22 0a 20 20 5b 22 22 5d 3d 3e 0a "]=>...string(3)."-.9"...[""]=>.
09c0 20 20 73 74 72 69 6e 67 28 30 29 20 22 22 0a 20 20 5b 2d 32 5d 3d 3e 0a 20 20 66 6c 6f 61 74 28 ..string(0).""...[-2]=>...float(
09e0 2d 32 2e 39 38 39 38 39 29 0a 7d 0a 0a 2d 2d 20 54 65 73 74 69 6e 67 20 61 72 73 6f 72 74 28 29 -2.98989).}..--.Testing.arsort()
0a00 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 20 61 72 72 61 79 2c .by.supplying.mixed.value.array,
0a20 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 55 4c 41 52 20 2d 2d .'flag'.value.is.SORT_REGULAR.--
0a40 0a 62 6f 6f 6c 28 74 72 75 65 29 0a 61 72 72 61 79 28 31 33 29 20 7b 0a 20 20 5b 22 61 72 72 61 .bool(true).array(13).{...["arra
0a60 79 32 22 5d 3d 3e 0a 20 20 61 72 72 61 79 28 34 29 20 7b 0a 20 20 20 20 5b 22 73 75 62 5f 61 72 y2"]=>...array(4).{.....["sub_ar
0a80 72 61 79 5b 32 2c 31 5d 22 5d 3d 3e 0a 20 20 20 20 61 72 72 61 79 28 33 29 20 7b 0a 20 20 20 20 ray[2,1]"]=>.....array(3).{.....
0aa0 20 20 5b 30 5d 3d 3e 0a 20 20 20 20 20 20 69 6e 74 28 33 33 29 0a 20 20 20 20 20 20 5b 31 5d 3d ..[0]=>.......int(33).......[1]=
0ac0 3e 0a 20 20 20 20 20 20 69 6e 74 28 2d 35 29 0a 20 20 20 20 20 20 5b 32 5d 3d 3e 0a 20 20 20 20 >.......int(-5).......[2]=>.....
0ae0 20 20 69 6e 74 28 36 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(6).....}.....["sub_array[2
0b00 2c 32 5d 22 5d 3d 3e 0a 20 20 20 20 61 72 72 61 79 28 31 29 20 7b 0a 20 20 20 20 20 20 5b 30 5d ,2]"]=>.....array(1).{.......[0]
0b20 3d 3e 0a 20 20 20 20 20 20 69 6e 74 28 31 31 29 0a 20 20 20 20 7d 0a 20 20 20 20 5b 22 73 75 62 =>.......int(11).....}.....["sub
0b40 5f 61 72 72 61 79 5b 32 2c 33 5d 22 5d 3d 3e 0a 20 20 20 20 61 72 72 61 79 28 32 29 20 7b 0a 20 _array[2,3]"]=>.....array(2).{..
0b60 20 20 20 20 20 5b 30 5d 3d 3e 0a 20 20 20 20 20 20 69 6e 74 28 32 32 29 0a 20 20 20 20 20 20 5b .....[0]=>.......int(22).......[
0b80 31 5d 3d 3e 0a 20 20 20 20 20 20 69 6e 74 28 2d 35 35 29 0a 20 20 20 20 7d 0a 20 20 20 20 5b 22 1]=>.......int(-55).....}.....["
0ba0 73 75 62 5f 61 72 72 61 79 5b 32 2c 34 5d 22 5d 3d 3e 0a 20 20 20 20 61 72 72 61 79 28 30 29 20 sub_array[2,4]"]=>.....array(0).
0bc0 7b 0a 20 20 20 20 7d 0a 20 20 7d 0a 20 20 5b 22 61 72 72 61 79 31 22 5d 3d 3e 0a 20 20 61 72 72 {.....}...}...["array1"]=>...arr
0be0 61 79 28 30 29 20 7b 0a 20 20 7d 0a 20 20 5b 34 5d 3d 3e 0a 20 20 66 6c 6f 61 74 28 34 2e 30 31 ay(0).{...}...[4]=>...float(4.01
0c00 29 0a 20 20 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 62 22 5d )...[0]=>...float(0.001)...["b"]
0c20 3d 3e 0a 20 20 73 74 72 69 6e 67 28 31 29 20 22 62 22 0a 20 20 5b 22 61 62 63 64 00 61 62 63 64 =>...string(1)."b"...["abcd.abcd
0c40 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
0c60 64 00 61 62 63 64 22 0a 20 20 5b 22 61 62 63 64 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 34 29 d.abcd"...["abcd"]=>...string(4)
0c80 20 22 61 62 63 64 22 0a 20 20 5b 22 61 62 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 32 29 20 22 ."abcd"...["ab"]=>...string(2)."
0ca0 61 62 22 0a 20 20 5b 22 54 72 75 65 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 34 29 20 22 54 72 ab"...["True"]=>...string(4)."Tr
0cc0 75 65 22 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 22 ue"...[5]=>...string(1)."5"...["
0ce0 2d 2e 39 22 5d 3d 3e 0a 20 20 73 74 72 69 6e 67 28 33 29 20 22 2d 2e 39 22 0a 20 20 5b 22 22 5d -.9"]=>...string(3)."-.9"...[""]
0d00 3d 3e 0a 20 20 73 74 72 69 6e 67 28 30 29 20 22 22 0a 20 20 5b 2d 32 5d 3d 3e 0a 20 20 66 6c 6f =>...string(0).""...[-2]=>...flo
0d20 61 74 28 2d 32 2e 39 38 39 38 39 29 0a 7d 0a 44 6f 6e 65 0a at(-2.98989).}.Done.