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