Annotation of embedaddon/php/ext/standard/tests/array/arsort_variation9.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test arsort() function : usage variations - sorting arrays with/without keys, 'sort_flags' as default/SORT_REGULAR
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 arrays with key values 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: // list of arrays with/without key values
20: $various_arrays = array (
21: array(5 => 55, 66, 22, 33, 11),
22: array ("a" => "orange", "banana", "c" => "apple"),
23: array(1, 2, 3, 4, 5, 6),
24: array("first", 5 => "second", "third"),
25: array(1, 1, 8 => 1, 4 => 1, 19, 3 => 13),
26: array('bar' => 'baz', "foo" => 1),
27: array('a'=>1,'b'=>array('e'=>2,'f'=>3),'c'=>array('g'=>4),'d'=>5),
28: );
29:
30: $count = 1;
31: echo "\n-- Testing arsort() by supplying various arrays with key values --\n";
32:
33: // loop through to test arsort() with different arrays,
34: // to test the new keys for the elements in the sorted array
35: foreach ($various_arrays as $array) {
36: echo "\n-- Iteration $count --\n";
37:
38: echo "- With default sort_flag -\n";
39: $temp_array = $array;
40: var_dump(arsort($temp_array) );
41: var_dump($temp_array);
42:
43: echo "- Sort_flag = SORT_REGULAR -\n";
44: $temp_array = $array;
45: var_dump(arsort($temp_array, SORT_REGULAR) );
46: var_dump($temp_array);
47: $count++;
48: }
49:
50: echo "Done\n";
51: ?>
52: --EXPECTF--
53: *** Testing arsort() : usage variations ***
54:
55: -- Testing arsort() by supplying various arrays with key values --
56:
57: -- Iteration 1 --
58: - With default sort_flag -
59: bool(true)
60: array(5) {
61: [6]=>
62: int(66)
63: [5]=>
64: int(55)
65: [8]=>
66: int(33)
67: [7]=>
68: int(22)
69: [9]=>
70: int(11)
71: }
72: - Sort_flag = SORT_REGULAR -
73: bool(true)
74: array(5) {
75: [6]=>
76: int(66)
77: [5]=>
78: int(55)
79: [8]=>
80: int(33)
81: [7]=>
82: int(22)
83: [9]=>
84: int(11)
85: }
86:
87: -- Iteration 2 --
88: - With default sort_flag -
89: bool(true)
90: array(3) {
91: ["a"]=>
92: string(6) "orange"
93: [0]=>
94: string(6) "banana"
95: ["c"]=>
96: string(5) "apple"
97: }
98: - Sort_flag = SORT_REGULAR -
99: bool(true)
100: array(3) {
101: ["a"]=>
102: string(6) "orange"
103: [0]=>
104: string(6) "banana"
105: ["c"]=>
106: string(5) "apple"
107: }
108:
109: -- Iteration 3 --
110: - With default sort_flag -
111: bool(true)
112: array(6) {
113: [5]=>
114: int(6)
115: [4]=>
116: int(5)
117: [3]=>
118: int(4)
119: [2]=>
120: int(3)
121: [1]=>
122: int(2)
123: [0]=>
124: int(1)
125: }
126: - Sort_flag = SORT_REGULAR -
127: bool(true)
128: array(6) {
129: [5]=>
130: int(6)
131: [4]=>
132: int(5)
133: [3]=>
134: int(4)
135: [2]=>
136: int(3)
137: [1]=>
138: int(2)
139: [0]=>
140: int(1)
141: }
142:
143: -- Iteration 4 --
144: - With default sort_flag -
145: bool(true)
146: array(3) {
147: [6]=>
148: string(5) "third"
149: [5]=>
150: string(6) "second"
151: [0]=>
152: string(5) "first"
153: }
154: - Sort_flag = SORT_REGULAR -
155: bool(true)
156: array(3) {
157: [6]=>
158: string(5) "third"
159: [5]=>
160: string(6) "second"
161: [0]=>
162: string(5) "first"
163: }
164:
165: -- Iteration 5 --
166: - With default sort_flag -
167: bool(true)
168: array(6) {
169: [9]=>
170: int(19)
171: [3]=>
172: int(13)
173: [4]=>
174: int(1)
175: [8]=>
176: int(1)
177: [1]=>
178: int(1)
179: [0]=>
180: int(1)
181: }
182: - Sort_flag = SORT_REGULAR -
183: bool(true)
184: array(6) {
185: [9]=>
186: int(19)
187: [3]=>
188: int(13)
189: [4]=>
190: int(1)
191: [8]=>
192: int(1)
193: [1]=>
194: int(1)
195: [0]=>
196: int(1)
197: }
198:
199: -- Iteration 6 --
200: - With default sort_flag -
201: bool(true)
202: array(2) {
203: ["foo"]=>
204: int(1)
205: ["bar"]=>
206: string(3) "baz"
207: }
208: - Sort_flag = SORT_REGULAR -
209: bool(true)
210: array(2) {
211: ["foo"]=>
212: int(1)
213: ["bar"]=>
214: string(3) "baz"
215: }
216:
217: -- Iteration 7 --
218: - With default sort_flag -
219: bool(true)
220: array(4) {
221: ["b"]=>
222: array(2) {
223: ["e"]=>
224: int(2)
225: ["f"]=>
226: int(3)
227: }
228: ["c"]=>
229: array(1) {
230: ["g"]=>
231: int(4)
232: }
233: ["d"]=>
234: int(5)
235: ["a"]=>
236: int(1)
237: }
238: - Sort_flag = SORT_REGULAR -
239: bool(true)
240: array(4) {
241: ["b"]=>
242: array(2) {
243: ["e"]=>
244: int(2)
245: ["f"]=>
246: int(3)
247: }
248: ["c"]=>
249: array(1) {
250: ["g"]=>
251: int(4)
252: }
253: ["d"]=>
254: int(5)
255: ["a"]=>
256: int(1)
257: }
258: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>