Annotation of embedaddon/php/ext/standard/tests/array/arsort_variation11.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test arsort() function : usage variations - sort mixed values, 'sort_flags' as default/SORT_REGULAR (OK to fail as result is unpredectable)
3: --FILE--
4: <?php
5: /* Prototype : bool arsort ( array &$array [, int $sort_flags] )
6: * Description: Sort an array and maintain index association.
7: Elements will be arranged from highest to lowest when this function has completed.
8: * Source code: ext/standard/array.c
9: */
10:
11: /*
12: * testing arsort() by providing mixed value array for $array argument with following flag values.
13: * 1.flag value as default
14: * 2.SORT_REGULAR - compare items normally
15: */
16:
17: echo "*** Testing arsort() : usage variations ***\n";
18:
19: // mixed value array with different key values
20: $mixed_values = array (
21: "array1" => array(),
22: "array2" => array ( "sub_array[2,1]" => array(33,-5,6), "sub_array[2,2]" => array(11),
23: "sub_array[2,3]" => array(22,-55), "sub_array[2,4]" => array()
24: ),
25: 4 => 4, "4" => "4", 4.01 => 4.01, "b" => "b", "5" => "5", -2 => -2, -2.01 => -2.01,
26: -2.98989 => -2.98989, "-.9" => "-.9", "True" => "True", "" => "", NULL => NULL,
27: "ab" => "ab", "abcd" => "abcd", 0.01 => 0.01, -0 => -0, '' => '' ,
28: "abcd\x00abcd\x00abcd" => "abcd\x00abcd\x00abcd", 0.001 => 0.001
29: );
30:
31: echo "\n-- Testing arsort() by supplying mixed value array, 'flag' value is default --\n";
32: $temp_array = $mixed_values;
33: var_dump( arsort($temp_array) );
34: var_dump($temp_array);
35:
36: echo "\n-- Testing arsort() by supplying mixed value array, 'flag' value is SORT_REGULAR --\n";
37: $temp_array = $mixed_values;
38: var_dump( arsort($temp_array, SORT_REGULAR) );
39: var_dump($temp_array);
40:
41: echo "Done\n";
42: ?>
43: --EXPECTF--
44: *** Testing arsort() : usage variations ***
45:
46: -- Testing arsort() by supplying mixed value array, 'flag' value is default --
47: bool(true)
48: array(13) {
49: ["array2"]=>
50: array(4) {
51: ["sub_array[2,1]"]=>
52: array(3) {
53: [0]=>
54: int(33)
55: [1]=>
56: int(-5)
57: [2]=>
58: int(6)
59: }
60: ["sub_array[2,2]"]=>
61: array(1) {
62: [0]=>
63: int(11)
64: }
65: ["sub_array[2,3]"]=>
66: array(2) {
67: [0]=>
68: int(22)
69: [1]=>
70: int(-55)
71: }
72: ["sub_array[2,4]"]=>
73: array(0) {
74: }
75: }
76: ["array1"]=>
77: array(0) {
78: }
79: ["b"]=>
80: string(1) "b"
81: ["abcd abcd abcd"]=>
82: string(14) "abcd abcd abcd"
83: ["abcd"]=>
84: string(4) "abcd"
85: ["ab"]=>
86: string(2) "ab"
87: ["True"]=>
88: string(4) "True"
89: [5]=>
90: string(1) "5"
91: [4]=>
92: float(4.01)
93: [0]=>
94: float(0.001)
95: ["-.9"]=>
96: string(3) "-.9"
97: [""]=>
98: string(0) ""
99: [-2]=>
100: float(-2.98989)
101: }
102:
103: -- Testing arsort() by supplying mixed value array, 'flag' value is SORT_REGULAR --
104: bool(true)
105: array(13) {
106: ["array2"]=>
107: array(4) {
108: ["sub_array[2,1]"]=>
109: array(3) {
110: [0]=>
111: int(33)
112: [1]=>
113: int(-5)
114: [2]=>
115: int(6)
116: }
117: ["sub_array[2,2]"]=>
118: array(1) {
119: [0]=>
120: int(11)
121: }
122: ["sub_array[2,3]"]=>
123: array(2) {
124: [0]=>
125: int(22)
126: [1]=>
127: int(-55)
128: }
129: ["sub_array[2,4]"]=>
130: array(0) {
131: }
132: }
133: ["array1"]=>
134: array(0) {
135: }
136: ["b"]=>
137: string(1) "b"
138: ["abcd abcd abcd"]=>
139: string(14) "abcd abcd abcd"
140: ["abcd"]=>
141: string(4) "abcd"
142: ["ab"]=>
143: string(2) "ab"
144: ["True"]=>
145: string(4) "True"
146: [5]=>
147: string(1) "5"
148: [4]=>
149: float(4.01)
150: [0]=>
151: float(0.001)
152: ["-.9"]=>
153: string(3) "-.9"
154: [""]=>
155: string(0) ""
156: [-2]=>
157: float(-2.98989)
158: }
159: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>