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