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