Annotation of embedaddon/php/ext/standard/tests/array/arsort_variation5.phpt, revision 1.1.1.2
1.1 misho 1: --TEST--
2: Test arsort() function : usage variations - sort strings
3: --SKIPIF--
4: <?php
5: if (substr(PHP_OS, 0, 3) == 'WIN') {
6: die("skip Output tested contains chars that are not shown the same on windows concole (ESC and co)");
7: }
8: --FILE--
9: <?php
10: /* Prototype : bool arsort ( array &$array [, int $asort_flags] )
11: * Description: Sort an array and maintain index association
12: Elements will be arranged from highest to lowest when this function has completed.
13: * Source code: ext/standard/array.c
14: */
15:
16: /*
17: * testing arsort() by providing different string arrays for $array argument with following flag values
18: * flag value as defualt
19: * SORT_REGULAR - compare items normally
20: * SORT_STRING - compare items as strings
21: */
22:
23: echo "*** Testing arsort() : usage variations ***\n";
24:
25: $various_arrays = array (
26: // group of escape sequences
27: array ("null"=> null, "NULL" => NULL, "\a" => "\a", "\cx" => "\cx", "\e" => "\e",
28: "\f" => "\f", "\n" =>"\n", "\r" => "\r", "\t" => "\t", "\xhh" => "\xhh",
29: "\ddd" => "\ddd", "\v" => "\v"
30: ),
31:
32: // array contains combination of capital/small letters
33: array ('l' => "lemoN", 'O' => "Orange", 'b' => "banana", 'a' => "apple", 'Te' => "Test",
34: 'T' => "TTTT", 't' => "ttt", 'w' => "ww", 'x' => "x", 'X' => "X", 'o' => "oraNGe",
35: 'B' => "BANANA"
36: )
37: );
38:
39: $flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_STRING" => SORT_STRING);
40:
41: $count = 1;
42: echo "\n-- Testing arsort() by supplying various string arrays --\n";
43:
44: // loop through to test arsort() with different arrays
45: foreach ($various_arrays as $array) {
46: echo "\n-- Iteration $count --\n";
47:
48: echo "- With default sort_flag -\n";
49: $temp_array = $array;
50: var_dump(arsort($temp_array) ); // expecting : bool(true)
51: var_dump($temp_array);
52:
53: // loop through $flags array and setting all possible flag values
54: foreach($flags as $key => $flag){
55: echo "- Sort_flag = $key -\n";
56: $temp_array = $array;
57: var_dump(arsort($temp_array, $flag) ); // expecting : bool(true)
58: var_dump($temp_array);
59: }
60: $count++;
61: }
62:
63: echo "Done\n";
64: ?>
65: --EXPECTF--
66: *** Testing arsort() : usage variations ***
67:
68: -- Testing arsort() by supplying various string arrays --
69:
70: -- Iteration 1 --
71: - With default sort_flag -
72: bool(true)
73: array(12) {
74: ["\xhh"]=>
75: string(4) "\xhh"
76: ["\ddd"]=>
77: string(4) "\ddd"
78: ["\cx"]=>
79: string(3) "\cx"
80: ["\a"]=>
81: string(2) "\a"
1.1.1.2 ! misho 82: [""]=>
! 83: string(1) ""
! 84: ["
"]=>
! 85: string(1) "
"
1.1 misho 86: [""]=>
87: string(1) ""
88: [""]=>
89: string(1) ""
90: ["
91: "]=>
92: string(1) "
93: "
94: [" "]=>
95: string(1) " "
96: ["null"]=>
97: NULL
98: ["NULL"]=>
99: NULL
100: }
101: - Sort_flag = SORT_REGULAR -
102: bool(true)
103: array(12) {
104: ["\xhh"]=>
105: string(4) "\xhh"
106: ["\ddd"]=>
107: string(4) "\ddd"
108: ["\cx"]=>
109: string(3) "\cx"
110: ["\a"]=>
111: string(2) "\a"
1.1.1.2 ! misho 112: [""]=>
! 113: string(1) ""
! 114: ["
"]=>
! 115: string(1) "
"
1.1 misho 116: [""]=>
117: string(1) ""
118: [""]=>
119: string(1) ""
120: ["
121: "]=>
122: string(1) "
123: "
124: [" "]=>
125: string(1) " "
126: ["null"]=>
127: NULL
128: ["NULL"]=>
129: NULL
130: }
131: - Sort_flag = SORT_STRING -
132: bool(true)
133: array(12) {
134: ["\xhh"]=>
135: string(4) "\xhh"
136: ["\ddd"]=>
137: string(4) "\ddd"
138: ["\cx"]=>
139: string(3) "\cx"
140: ["\a"]=>
141: string(2) "\a"
1.1.1.2 ! misho 142: [""]=>
! 143: string(1) ""
! 144: ["
"]=>
! 145: string(1) "
"
1.1 misho 146: [""]=>
147: string(1) ""
148: [""]=>
149: string(1) ""
150: ["
151: "]=>
152: string(1) "
153: "
154: [" "]=>
155: string(1) " "
156: ["null"]=>
157: NULL
158: ["NULL"]=>
159: NULL
160: }
161:
162: -- Iteration 2 --
163: - With default sort_flag -
164: bool(true)
165: array(12) {
166: ["x"]=>
167: string(1) "x"
168: ["w"]=>
169: string(2) "ww"
170: ["t"]=>
171: string(3) "ttt"
172: ["o"]=>
173: string(6) "oraNGe"
174: ["l"]=>
175: string(5) "lemoN"
176: ["b"]=>
177: string(6) "banana"
178: ["a"]=>
179: string(5) "apple"
180: ["X"]=>
181: string(1) "X"
182: ["Te"]=>
183: string(4) "Test"
184: ["T"]=>
185: string(4) "TTTT"
186: ["O"]=>
187: string(6) "Orange"
188: ["B"]=>
189: string(6) "BANANA"
190: }
191: - Sort_flag = SORT_REGULAR -
192: bool(true)
193: array(12) {
194: ["x"]=>
195: string(1) "x"
196: ["w"]=>
197: string(2) "ww"
198: ["t"]=>
199: string(3) "ttt"
200: ["o"]=>
201: string(6) "oraNGe"
202: ["l"]=>
203: string(5) "lemoN"
204: ["b"]=>
205: string(6) "banana"
206: ["a"]=>
207: string(5) "apple"
208: ["X"]=>
209: string(1) "X"
210: ["Te"]=>
211: string(4) "Test"
212: ["T"]=>
213: string(4) "TTTT"
214: ["O"]=>
215: string(6) "Orange"
216: ["B"]=>
217: string(6) "BANANA"
218: }
219: - Sort_flag = SORT_STRING -
220: bool(true)
221: array(12) {
222: ["x"]=>
223: string(1) "x"
224: ["w"]=>
225: string(2) "ww"
226: ["t"]=>
227: string(3) "ttt"
228: ["o"]=>
229: string(6) "oraNGe"
230: ["l"]=>
231: string(5) "lemoN"
232: ["b"]=>
233: string(6) "banana"
234: ["a"]=>
235: string(5) "apple"
236: ["X"]=>
237: string(1) "X"
238: ["Te"]=>
239: string(4) "Test"
240: ["T"]=>
241: string(4) "TTTT"
242: ["O"]=>
243: string(6) "Orange"
244: ["B"]=>
245: string(6) "BANANA"
246: }
1.1.1.2 ! misho 247: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>