1--TEST-- 2Test sort() function : usage variations - sort strings 3--SKIPIF-- 4<?php 5if (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 23echo "*** 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; 36echo "\n-- Testing sort() by supplying various string arrays --\n"; 37 38// loop through to test sort() with different arrays 39foreach ($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 57echo "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 - 66bool(true) 67array(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]=> 82 string(1) " 82" 83 [7]=> 84 string(2) "\a" 85 [8]=> 86 string(3) "\cx" 87 [9]=> 88 string(4) "\ddd" 89 [10]=> 90 string(2) "\e" 91 [11]=> 92 string(4) "\xhh" 93} 94- Sort flag = SORT_REGULAR - 95bool(true) 96array(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]=> 111 string(1) " 111" 112 [7]=> 113 string(2) "\a" 114 [8]=> 115 string(3) "\cx" 116 [9]=> 117 string(4) "\ddd" 118 [10]=> 119 string(2) "\e" 120 [11]=> 121 string(4) "\xhh" 122} 123- Sort flag = SORT_STRING - 124bool(true) 125array(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]=> 140 string(1) " 140" 141 [7]=> 142 string(2) "\a" 143 [8]=> 144 string(3) "\cx" 145 [9]=> 146 string(4) "\ddd" 147 [10]=> 148 string(2) "\e" 149 [11]=> 150 string(4) "\xhh" 151} 152 153-- Iteration 2 -- 154- With Default sort flag - 155bool(true) 156array(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 - 183bool(true) 184array(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 - 211bool(true) 212array(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} 238Done 239