1--TEST-- 2Test ksort() function : usage variations - unexpected values for 'array' argument 3--FILE-- 4<?php 5/* Prototype : bool ksort(array &array [, int sort_flags]) 6 * Description: Sort an array by key, maintaining key to data correlation 7 * Source code: ext/standard/array.c 8*/ 9 10/* 11 * testing ksort() by providing different unexpected values for array argument with following flag values: 12 * 1. flag value as defualt 13 * 2. SORT_REGULAR - compare items normally 14 * 3. SORT_NUMERIC - compare items numerically 15 * 4. SORT_STRING - compare items as strings 16*/ 17 18echo "*** Testing ksort() : usage variations ***\n"; 19 20// get an unset variable 21$unset_var = 10; 22unset ($unset_var); 23 24// resource variable 25$fp = fopen(__FILE__, "r"); 26 27$unexpected_values = array ( 28 29 // int data 30/*1*/ 0, 31 1, 32 12345, 33 -2345, 34 35 // float data 36/*5*/ 10.5, 37 -10.5, 38 10.5e3, 39 10.6E-2, 40 0.5, 41 42 // null data 43/*10*/ NULL, 44 null, 45 46 // boolean data 47/*11*/ true, 48 false, 49 TRUE, 50 FALSE, 51 52 // empty data 53/*15*/ "", 54 '', 55 56 // string data 57/*17*/ "string", 58 'string', 59 60 // object data 61/*19*/ new stdclass(), 62 63 // undefined data 64/*20*/ @undefined_var, 65 66 // unset data 67/*21*/ @unset_var, 68 69 // resource variable 70/*22*/ $fp 71 72); 73 74// loop though each element of the array and check the working of ksort() 75// when $array argument is supplied with different values from $unexpected_values 76echo "\n-- Testing ksort() by supplying different unexpected values for 'array' argument --\n"; 77echo "\n-- Flag values are defualt, SORT_REGULAR, SORT_NUMERIC, SORT_STRING --\n"; 78 79$counter = 1; 80for($index = 0; $index < count($unexpected_values); $index ++) { 81 echo "-- Iteration $counter --\n"; 82 $value = $unexpected_values [$index]; 83 var_dump( ksort($value) ); // expecting : bool(false) 84 var_dump( ksort($value, SORT_REGULAR) ); // expecting : bool(false) 85 var_dump( ksort($value, SORT_NUMERIC) ); // expecting : bool(false) 86 var_dump( ksort($value, SORT_STRING) ); // expecting : bool(false) 87 $counter++; 88} 89 90echo "Done"; 91?> 92--EXPECTF-- 93*** Testing ksort() : usage variations *** 94 95-- Testing ksort() by supplying different unexpected values for 'array' argument -- 96 97-- Flag values are defualt, SORT_REGULAR, SORT_NUMERIC, SORT_STRING -- 98-- Iteration 1 -- 99 100Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 101bool(false) 102 103Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 104bool(false) 105 106Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 107bool(false) 108 109Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 110bool(false) 111-- Iteration 2 -- 112 113Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 114bool(false) 115 116Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 117bool(false) 118 119Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 120bool(false) 121 122Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 123bool(false) 124-- Iteration 3 -- 125 126Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 127bool(false) 128 129Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 130bool(false) 131 132Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 133bool(false) 134 135Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 136bool(false) 137-- Iteration 4 -- 138 139Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 140bool(false) 141 142Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 143bool(false) 144 145Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 146bool(false) 147 148Warning: ksort() expects parameter 1 to be array, integer given in %s on line %d 149bool(false) 150-- Iteration 5 -- 151 152Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 153bool(false) 154 155Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 156bool(false) 157 158Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 159bool(false) 160 161Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 162bool(false) 163-- Iteration 6 -- 164 165Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 166bool(false) 167 168Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 169bool(false) 170 171Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 172bool(false) 173 174Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 175bool(false) 176-- Iteration 7 -- 177 178Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 179bool(false) 180 181Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 182bool(false) 183 184Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 185bool(false) 186 187Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 188bool(false) 189-- Iteration 8 -- 190 191Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 192bool(false) 193 194Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 195bool(false) 196 197Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 198bool(false) 199 200Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 201bool(false) 202-- Iteration 9 -- 203 204Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 205bool(false) 206 207Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 208bool(false) 209 210Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 211bool(false) 212 213Warning: ksort() expects parameter 1 to be array, double given in %s on line %d 214bool(false) 215-- Iteration 10 -- 216 217Warning: ksort() expects parameter 1 to be array, null given in %s on line %d 218bool(false) 219 220Warning: ksort() expects parameter 1 to be array, null given in %s on line %d 221bool(false) 222 223Warning: ksort() expects parameter 1 to be array, null given in %s on line %d 224bool(false) 225 226Warning: ksort() expects parameter 1 to be array, null given in %s on line %d 227bool(false) 228-- Iteration 11 -- 229 230Warning: ksort() expects parameter 1 to be array, null given in %s on line %d 231bool(false) 232 233Warning: ksort() expects parameter 1 to be array, null given in %s on line %d 234bool(false) 235 236Warning: ksort() expects parameter 1 to be array, null given in %s on line %d 237bool(false) 238 239Warning: ksort() expects parameter 1 to be array, null given in %s on line %d 240bool(false) 241-- Iteration 12 -- 242 243Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 244bool(false) 245 246Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 247bool(false) 248 249Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 250bool(false) 251 252Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 253bool(false) 254-- Iteration 13 -- 255 256Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 257bool(false) 258 259Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 260bool(false) 261 262Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 263bool(false) 264 265Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 266bool(false) 267-- Iteration 14 -- 268 269Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 270bool(false) 271 272Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 273bool(false) 274 275Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 276bool(false) 277 278Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 279bool(false) 280-- Iteration 15 -- 281 282Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 283bool(false) 284 285Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 286bool(false) 287 288Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 289bool(false) 290 291Warning: ksort() expects parameter 1 to be array, boolean given in %s on line %d 292bool(false) 293-- Iteration 16 -- 294 295Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 296bool(false) 297 298Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 299bool(false) 300 301Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 302bool(false) 303 304Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 305bool(false) 306-- Iteration 17 -- 307 308Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 309bool(false) 310 311Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 312bool(false) 313 314Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 315bool(false) 316 317Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 318bool(false) 319-- Iteration 18 -- 320 321Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 322bool(false) 323 324Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 325bool(false) 326 327Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 328bool(false) 329 330Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 331bool(false) 332-- Iteration 19 -- 333 334Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 335bool(false) 336 337Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 338bool(false) 339 340Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 341bool(false) 342 343Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 344bool(false) 345-- Iteration 20 -- 346 347Warning: ksort() expects parameter 1 to be array, object given in %s on line %d 348bool(false) 349 350Warning: ksort() expects parameter 1 to be array, object given in %s on line %d 351bool(false) 352 353Warning: ksort() expects parameter 1 to be array, object given in %s on line %d 354bool(false) 355 356Warning: ksort() expects parameter 1 to be array, object given in %s on line %d 357bool(false) 358-- Iteration 21 -- 359 360Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 361bool(false) 362 363Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 364bool(false) 365 366Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 367bool(false) 368 369Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 370bool(false) 371-- Iteration 22 -- 372 373Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 374bool(false) 375 376Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 377bool(false) 378 379Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 380bool(false) 381 382Warning: ksort() expects parameter 1 to be array, string given in %s on line %d 383bool(false) 384-- Iteration 23 -- 385 386Warning: ksort() expects parameter 1 to be array, resource given in %s on line %d 387bool(false) 388 389Warning: ksort() expects parameter 1 to be array, resource given in %s on line %d 390bool(false) 391 392Warning: ksort() expects parameter 1 to be array, resource given in %s on line %d 393bool(false) 394 395Warning: ksort() expects parameter 1 to be array, resource given in %s on line %d 396bool(false) 397Done 398