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