Annotation of embedaddon/php/ext/standard/tests/array/krsort_variation5.phpt, revision 1.1.1.2
1.1 misho 1: --TEST--
2: Test krsort() 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 krsort ( array &$array [, int $sort_flags] )
11: * Description: Sort an array by key in reverse order, maintaining key to data correlation
12: * Source code: ext/standard/array.c
13: */
14:
15: /*
16: * testing krsort() by providing array of string values for $array argument with
17: * following flag values:
18: * 1.flag value as defualt
19: * 2.SORT_REGULAR - compare items normally
20: * 3.SORT_STRING - compare items as strings
21: */
22:
23: echo "*** Testing krsort() : usage variations ***\n";
24:
25: $various_arrays = array (
26: // diff. escape sequence chars with key values
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 containing different strings with key values
33: array ( 'Lemon' => "lemoN", 'o' => "Orange", 'B' => "banana", 'Apple' => "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 krsort() by supplying various string arrays --\n";
43:
44: // loop through to test krsort() with different arrays
45: foreach ($various_arrays as $array) {
46: echo "\n-- Iteration $count --\n";
47:
48: echo "- With defualt sort flag -\n";
49: $temp_array = $array;
50: var_dump(krsort($temp_array) ); // expecting : bool(true)
51: var_dump($temp_array);
52:
53: // loop through $flags array and call krsort() with all possible sort flag values
54: foreach($flags as $key => $flag){
55: echo "- Sort flag = $key -\n";
56: $temp_array = $array;
57: var_dump(krsort($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 krsort() : usage variations ***
67:
68: -- Testing krsort() by supplying various string arrays --
69:
70: -- Iteration 1 --
71: - With defualt sort flag -
72: bool(true)
73: array(11) {
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: [""]=>
97: NULL
98: }
99: - Sort flag = SORT_REGULAR -
100: bool(true)
101: array(11) {
102: ["\xhh"]=>
103: string(4) "\xhh"
104: ["\ddd"]=>
105: string(4) "\ddd"
106: ["\cx"]=>
107: string(3) "\cx"
108: ["\a"]=>
109: string(2) "\a"
1.1.1.2 ! misho 110: [""]=>
! 111: string(1) ""
! 112: ["
"]=>
! 113: string(1) "
"
1.1 misho 114: [""]=>
115: string(1) ""
116: [""]=>
117: string(1) ""
118: ["
119: "]=>
120: string(1) "
121: "
122: [" "]=>
123: string(1) " "
124: [""]=>
125: NULL
126: }
127: - Sort flag = SORT_STRING -
128: bool(true)
129: array(11) {
130: ["\xhh"]=>
131: string(4) "\xhh"
132: ["\ddd"]=>
133: string(4) "\ddd"
134: ["\cx"]=>
135: string(3) "\cx"
136: ["\a"]=>
137: string(2) "\a"
1.1.1.2 ! misho 138: [""]=>
! 139: string(1) ""
! 140: ["
"]=>
! 141: string(1) "
"
1.1 misho 142: [""]=>
143: string(1) ""
144: [""]=>
145: string(1) ""
146: ["
147: "]=>
148: string(1) "
149: "
150: [" "]=>
151: string(1) " "
152: [""]=>
153: NULL
154: }
155:
156: -- Iteration 2 --
157: - With defualt sort flag -
158: bool(true)
159: array(11) {
160: ["x"]=>
161: string(1) "X"
162: ["te"]=>
163: string(4) "Test"
164: ["t"]=>
165: string(4) "TTTT"
166: ["o"]=>
167: string(6) "Orange"
168: ["X"]=>
169: string(1) "x"
170: ["W"]=>
171: string(2) "ww"
172: ["T"]=>
173: string(3) "ttt"
174: ["O"]=>
175: string(6) "oraNGe"
176: ["Lemon"]=>
177: string(5) "lemoN"
178: ["B"]=>
179: string(6) "BANANA"
180: ["Apple"]=>
181: string(5) "apple"
182: }
183: - Sort flag = SORT_REGULAR -
184: bool(true)
185: array(11) {
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: ["X"]=>
195: string(1) "x"
196: ["W"]=>
197: string(2) "ww"
198: ["T"]=>
199: string(3) "ttt"
200: ["O"]=>
201: string(6) "oraNGe"
202: ["Lemon"]=>
203: string(5) "lemoN"
204: ["B"]=>
205: string(6) "BANANA"
206: ["Apple"]=>
207: string(5) "apple"
208: }
209: - Sort flag = SORT_STRING -
210: bool(true)
211: array(11) {
212: ["x"]=>
213: string(1) "X"
214: ["te"]=>
215: string(4) "Test"
216: ["t"]=>
217: string(4) "TTTT"
218: ["o"]=>
219: string(6) "Orange"
220: ["X"]=>
221: string(1) "x"
222: ["W"]=>
223: string(2) "ww"
224: ["T"]=>
225: string(3) "ttt"
226: ["O"]=>
227: string(6) "oraNGe"
228: ["Lemon"]=>
229: string(5) "lemoN"
230: ["B"]=>
231: string(6) "BANANA"
232: ["Apple"]=>
233: string(5) "apple"
234: }
235: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>