Annotation of embedaddon/php/ext/standard/tests/array/arsort_variation5.phpt, revision 1.1.1.1
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: ["\e"]=>
77: string(2) "\e"
78: ["\ddd"]=>
79: string(4) "\ddd"
80: ["\cx"]=>
81: string(3) "\cx"
82: ["\a"]=>
83: string(2) "\a"
84: ["
85: "]=>
86: string(1) "
87: "
88: [""]=>
89: string(1) ""
90: [""]=>
91: string(1) ""
92: ["
93: "]=>
94: string(1) "
95: "
96: [" "]=>
97: string(1) " "
98: ["null"]=>
99: NULL
100: ["NULL"]=>
101: NULL
102: }
103: - Sort_flag = SORT_REGULAR -
104: bool(true)
105: array(12) {
106: ["\xhh"]=>
107: string(4) "\xhh"
108: ["\e"]=>
109: string(2) "\e"
110: ["\ddd"]=>
111: string(4) "\ddd"
112: ["\cx"]=>
113: string(3) "\cx"
114: ["\a"]=>
115: string(2) "\a"
116: ["
117: "]=>
118: string(1) "
119: "
120: [""]=>
121: string(1) ""
122: [""]=>
123: string(1) ""
124: ["
125: "]=>
126: string(1) "
127: "
128: [" "]=>
129: string(1) " "
130: ["null"]=>
131: NULL
132: ["NULL"]=>
133: NULL
134: }
135: - Sort_flag = SORT_STRING -
136: bool(true)
137: array(12) {
138: ["\xhh"]=>
139: string(4) "\xhh"
140: ["\e"]=>
141: string(2) "\e"
142: ["\ddd"]=>
143: string(4) "\ddd"
144: ["\cx"]=>
145: string(3) "\cx"
146: ["\a"]=>
147: string(2) "\a"
148: ["
149: "]=>
150: string(1) "
151: "
152: [""]=>
153: string(1) ""
154: [""]=>
155: string(1) ""
156: ["
157: "]=>
158: string(1) "
159: "
160: [" "]=>
161: string(1) " "
162: ["null"]=>
163: NULL
164: ["NULL"]=>
165: NULL
166: }
167:
168: -- Iteration 2 --
169: - With default sort_flag -
170: bool(true)
171: array(12) {
172: ["x"]=>
173: string(1) "x"
174: ["w"]=>
175: string(2) "ww"
176: ["t"]=>
177: string(3) "ttt"
178: ["o"]=>
179: string(6) "oraNGe"
180: ["l"]=>
181: string(5) "lemoN"
182: ["b"]=>
183: string(6) "banana"
184: ["a"]=>
185: string(5) "apple"
186: ["X"]=>
187: string(1) "X"
188: ["Te"]=>
189: string(4) "Test"
190: ["T"]=>
191: string(4) "TTTT"
192: ["O"]=>
193: string(6) "Orange"
194: ["B"]=>
195: string(6) "BANANA"
196: }
197: - Sort_flag = SORT_REGULAR -
198: bool(true)
199: array(12) {
200: ["x"]=>
201: string(1) "x"
202: ["w"]=>
203: string(2) "ww"
204: ["t"]=>
205: string(3) "ttt"
206: ["o"]=>
207: string(6) "oraNGe"
208: ["l"]=>
209: string(5) "lemoN"
210: ["b"]=>
211: string(6) "banana"
212: ["a"]=>
213: string(5) "apple"
214: ["X"]=>
215: string(1) "X"
216: ["Te"]=>
217: string(4) "Test"
218: ["T"]=>
219: string(4) "TTTT"
220: ["O"]=>
221: string(6) "Orange"
222: ["B"]=>
223: string(6) "BANANA"
224: }
225: - Sort_flag = SORT_STRING -
226: bool(true)
227: array(12) {
228: ["x"]=>
229: string(1) "x"
230: ["w"]=>
231: string(2) "ww"
232: ["t"]=>
233: string(3) "ttt"
234: ["o"]=>
235: string(6) "oraNGe"
236: ["l"]=>
237: string(5) "lemoN"
238: ["b"]=>
239: string(6) "banana"
240: ["a"]=>
241: string(5) "apple"
242: ["X"]=>
243: string(1) "X"
244: ["Te"]=>
245: string(4) "Test"
246: ["T"]=>
247: string(4) "TTTT"
248: ["O"]=>
249: string(6) "Orange"
250: ["B"]=>
251: string(6) "BANANA"
252: }
253: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>