1--TEST-- 2Test sort() function : usage variations - sort diff. associative arrays, 'sort_flags' as defualt/SORT_REGULAR 3--FILE-- 4<?php 5/* Prototype : bool sort ( array &$array [, int $sort_flags] ) 6 * Description: This function sorts an array. 7 Elements will be arranged from lowest to highest when this function has completed. 8 * Source code: ext/standard/array.c 9*/ 10 11/* 12 * Testing sort() by providing arrays with key values for $array argument 13 * with following flag values. 14 * 1.flag value as defualt 15 * 2.SORT_REGULAR - compare items normally 16 * To test the new keys for the elements in the sorted array. 17 */ 18 19echo "*** Testing sort() : usage variations ***\n"; 20 21// list of arrays with key and values 22$various_arrays = array( 23 array(5 => 55, 6 => 66, 2 => 22, 3 => 33, 1 => 11), 24 array ("fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"), 25 "numbers" => array(1, 2, 3, 4, 5, 6), 26 "holes" => array("first", 5 => "second", "third") 27 ), 28 array(1, 1, 8 => 1, 4 => 1, 19, 3 => 13), 29 array('bar' => 'baz', "foo" => 1), 30 array('a' => 1,'b' => array('e' => 2,'f' => 3),'c' => array('g' => 4),'d' => 5), 31); 32 33$count = 1; 34echo "\n-- Testing sort() by supplying various arrays with key values --\n"; 35 36// loop through to test sort() with different arrays, 37// to test the new keys for the elements in the sorted array 38foreach ($various_arrays as $array) { 39 echo "\n-- Iteration $count --\n"; 40 41 echo "- With Defualt sort flag -\n"; 42 $temp_array = $array; 43 var_dump(sort($temp_array) ); 44 var_dump($temp_array); 45 46 echo "- Sort flag = SORT_REGULAR -\n"; 47 $temp_array = $array; 48 var_dump(sort($temp_array, SORT_REGULAR) ); 49 var_dump($temp_array); 50 $count++; 51} 52 53echo "Done\n"; 54?> 55--EXPECTF-- 56*** Testing sort() : usage variations *** 57 58-- Testing sort() by supplying various arrays with key values -- 59 60-- Iteration 1 -- 61- With Defualt sort flag - 62bool(true) 63array(5) { 64 [0]=> 65 int(11) 66 [1]=> 67 int(22) 68 [2]=> 69 int(33) 70 [3]=> 71 int(55) 72 [4]=> 73 int(66) 74} 75- Sort flag = SORT_REGULAR - 76bool(true) 77array(5) { 78 [0]=> 79 int(11) 80 [1]=> 81 int(22) 82 [2]=> 83 int(33) 84 [3]=> 85 int(55) 86 [4]=> 87 int(66) 88} 89 90-- Iteration 2 -- 91- With Defualt sort flag - 92bool(true) 93array(3) { 94 [0]=> 95 array(3) { 96 [0]=> 97 string(5) "first" 98 [5]=> 99 string(6) "second" 100 [6]=> 101 string(5) "third" 102 } 103 [1]=> 104 array(3) { 105 ["a"]=> 106 string(6) "orange" 107 ["b"]=> 108 string(6) "banana" 109 ["c"]=> 110 string(5) "apple" 111 } 112 [2]=> 113 array(6) { 114 [0]=> 115 int(1) 116 [1]=> 117 int(2) 118 [2]=> 119 int(3) 120 [3]=> 121 int(4) 122 [4]=> 123 int(5) 124 [5]=> 125 int(6) 126 } 127} 128- Sort flag = SORT_REGULAR - 129bool(true) 130array(3) { 131 [0]=> 132 array(3) { 133 [0]=> 134 string(5) "first" 135 [5]=> 136 string(6) "second" 137 [6]=> 138 string(5) "third" 139 } 140 [1]=> 141 array(3) { 142 ["a"]=> 143 string(6) "orange" 144 ["b"]=> 145 string(6) "banana" 146 ["c"]=> 147 string(5) "apple" 148 } 149 [2]=> 150 array(6) { 151 [0]=> 152 int(1) 153 [1]=> 154 int(2) 155 [2]=> 156 int(3) 157 [3]=> 158 int(4) 159 [4]=> 160 int(5) 161 [5]=> 162 int(6) 163 } 164} 165 166-- Iteration 3 -- 167- With Defualt sort flag - 168bool(true) 169array(6) { 170 [0]=> 171 int(1) 172 [1]=> 173 int(1) 174 [2]=> 175 int(1) 176 [3]=> 177 int(1) 178 [4]=> 179 int(13) 180 [5]=> 181 int(19) 182} 183- Sort flag = SORT_REGULAR - 184bool(true) 185array(6) { 186 [0]=> 187 int(1) 188 [1]=> 189 int(1) 190 [2]=> 191 int(1) 192 [3]=> 193 int(1) 194 [4]=> 195 int(13) 196 [5]=> 197 int(19) 198} 199 200-- Iteration 4 -- 201- With Defualt sort flag - 202bool(true) 203array(2) { 204 [0]=> 205 string(3) "baz" 206 [1]=> 207 int(1) 208} 209- Sort flag = SORT_REGULAR - 210bool(true) 211array(2) { 212 [0]=> 213 string(3) "baz" 214 [1]=> 215 int(1) 216} 217 218-- Iteration 5 -- 219- With Defualt sort flag - 220bool(true) 221array(4) { 222 [0]=> 223 int(1) 224 [1]=> 225 int(5) 226 [2]=> 227 array(1) { 228 ["g"]=> 229 int(4) 230 } 231 [3]=> 232 array(2) { 233 ["e"]=> 234 int(2) 235 ["f"]=> 236 int(3) 237 } 238} 239- Sort flag = SORT_REGULAR - 240bool(true) 241array(4) { 242 [0]=> 243 int(1) 244 [1]=> 245 int(5) 246 [2]=> 247 array(1) { 248 ["g"]=> 249 int(4) 250 } 251 [3]=> 252 array(2) { 253 ["e"]=> 254 int(2) 255 ["f"]=> 256 int(3) 257 } 258} 259Done 260