| 
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