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