Return to array_reverse_variation3.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 - different array values for 'array' 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 12: * different array values for $array argument 13: */ 14: 15: echo "*** Testing array_reverse() : usage variations ***\n"; 16: 17: //get an unset variable 18: $unset_var = 10; 19: unset ($unset_var); 20: 21: //get a resource variable 22: $fp = fopen(__FILE__, "r"); 23: 24: //get a class 25: class classA 26: { 27: public function __toString(){ 28: return "Class A object"; 29: } 30: } 31: 32: // get a heredoc string 33: $heredoc = <<<EOT 34: Hello world 35: EOT; 36: 37: $arrays = array ( 38: /*1*/ array(1, 2), // array with default keys and numeric values 39: array(1.1, 2.2), // array with default keys & float values 40: array( array(2), array(1)), // sub arrays 41: array(false,true), // array with default keys and boolean values 42: array(), // empty array 43: array(NULL), // array with NULL 44: array("a","aaaa","b","bbbb","c","ccccc"), 45: 46: // associative arrays 47: /*8*/ array(1 => "one", 2 => "two", 3 => "three"), // explicit numeric keys, string values 48: array("one" => 1, "two" => 2, "three" => 3 ), // string keys & numeric values 49: array( 1 => 10, 2 => 20, 4 => 40, 3 => 30), // explicit numeric keys and numeric values 50: array( "one" => "ten", "two" => "twenty", "three" => "thirty"), // string key/value 51: array("one" => 1, 2 => "two", 4 => "four"), //mixed 52: 53: // associative array, containing null/empty/boolean values as key/value 54: /*13*/ array(NULL => "NULL", null => "null", "NULL" => NULL, "null" => null), 55: array(true => "true", false => "false", "false" => false, "true" => true), 56: array("" => "emptyd", '' => 'emptys', "emptyd" => "", 'emptys' => ''), 57: array(1 => '', 2 => "", 3 => NULL, 4 => null, 5 => false, 6 => true), 58: array('' => 1, "" => 2, NULL => 3, null => 4, false => 5, true => 6), 59: 60: // array with repetative keys 61: /*18*/ array("One" => 1, "two" => 2, "One" => 10, "two" => 20, "three" => 3) 62: ); 63: 64: // loop through the various elements of $arrays to test array_reverse() 65: $iterator = 1; 66: foreach($arrays as $array) { 67: echo "-- Iteration $iterator --\n"; 68: // with default argument 69: echo "- with default argument -\n"; 70: var_dump( array_reverse($array) ); 71: // with all possible arguments 72: echo "- with \$preserve keys = true -\n"; 73: var_dump( array_reverse($array, true) ); 74: echo "- with \$preserve_keys = false -\n"; 75: var_dump( array_reverse($array, false) ); 76: $iterator++; 77: }; 78: 79: // close the file resource used 80: fclose($fp); 81: 82: echo "Done"; 83: ?> 84: --EXPECTF-- 85: *** Testing array_reverse() : usage variations *** 86: -- Iteration 1 -- 87: - with default argument - 88: array(2) { 89: [0]=> 90: int(2) 91: [1]=> 92: int(1) 93: } 94: - with $preserve keys = true - 95: array(2) { 96: [1]=> 97: int(2) 98: [0]=> 99: int(1) 100: } 101: - with $preserve_keys = false - 102: array(2) { 103: [0]=> 104: int(2) 105: [1]=> 106: int(1) 107: } 108: -- Iteration 2 -- 109: - with default argument - 110: array(2) { 111: [0]=> 112: float(2.2) 113: [1]=> 114: float(1.1) 115: } 116: - with $preserve keys = true - 117: array(2) { 118: [1]=> 119: float(2.2) 120: [0]=> 121: float(1.1) 122: } 123: - with $preserve_keys = false - 124: array(2) { 125: [0]=> 126: float(2.2) 127: [1]=> 128: float(1.1) 129: } 130: -- Iteration 3 -- 131: - with default argument - 132: array(2) { 133: [0]=> 134: array(1) { 135: [0]=> 136: int(1) 137: } 138: [1]=> 139: array(1) { 140: [0]=> 141: int(2) 142: } 143: } 144: - with $preserve keys = true - 145: array(2) { 146: [1]=> 147: array(1) { 148: [0]=> 149: int(1) 150: } 151: [0]=> 152: array(1) { 153: [0]=> 154: int(2) 155: } 156: } 157: - with $preserve_keys = false - 158: array(2) { 159: [0]=> 160: array(1) { 161: [0]=> 162: int(1) 163: } 164: [1]=> 165: array(1) { 166: [0]=> 167: int(2) 168: } 169: } 170: -- Iteration 4 -- 171: - with default argument - 172: array(2) { 173: [0]=> 174: bool(true) 175: [1]=> 176: bool(false) 177: } 178: - with $preserve keys = true - 179: array(2) { 180: [1]=> 181: bool(true) 182: [0]=> 183: bool(false) 184: } 185: - with $preserve_keys = false - 186: array(2) { 187: [0]=> 188: bool(true) 189: [1]=> 190: bool(false) 191: } 192: -- Iteration 5 -- 193: - with default argument - 194: array(0) { 195: } 196: - with $preserve keys = true - 197: array(0) { 198: } 199: - with $preserve_keys = false - 200: array(0) { 201: } 202: -- Iteration 6 -- 203: - with default argument - 204: array(1) { 205: [0]=> 206: NULL 207: } 208: - with $preserve keys = true - 209: array(1) { 210: [0]=> 211: NULL 212: } 213: - with $preserve_keys = false - 214: array(1) { 215: [0]=> 216: NULL 217: } 218: -- Iteration 7 -- 219: - with default argument - 220: array(6) { 221: [0]=> 222: string(5) "ccccc" 223: [1]=> 224: string(1) "c" 225: [2]=> 226: string(4) "bbbb" 227: [3]=> 228: string(1) "b" 229: [4]=> 230: string(4) "aaaa" 231: [5]=> 232: string(1) "a" 233: } 234: - with $preserve keys = true - 235: array(6) { 236: [5]=> 237: string(5) "ccccc" 238: [4]=> 239: string(1) "c" 240: [3]=> 241: string(4) "bbbb" 242: [2]=> 243: string(1) "b" 244: [1]=> 245: string(4) "aaaa" 246: [0]=> 247: string(1) "a" 248: } 249: - with $preserve_keys = false - 250: array(6) { 251: [0]=> 252: string(5) "ccccc" 253: [1]=> 254: string(1) "c" 255: [2]=> 256: string(4) "bbbb" 257: [3]=> 258: string(1) "b" 259: [4]=> 260: string(4) "aaaa" 261: [5]=> 262: string(1) "a" 263: } 264: -- Iteration 8 -- 265: - with default argument - 266: array(3) { 267: [0]=> 268: string(5) "three" 269: [1]=> 270: string(3) "two" 271: [2]=> 272: string(3) "one" 273: } 274: - with $preserve keys = true - 275: array(3) { 276: [3]=> 277: string(5) "three" 278: [2]=> 279: string(3) "two" 280: [1]=> 281: string(3) "one" 282: } 283: - with $preserve_keys = false - 284: array(3) { 285: [0]=> 286: string(5) "three" 287: [1]=> 288: string(3) "two" 289: [2]=> 290: string(3) "one" 291: } 292: -- Iteration 9 -- 293: - with default argument - 294: array(3) { 295: ["three"]=> 296: int(3) 297: ["two"]=> 298: int(2) 299: ["one"]=> 300: int(1) 301: } 302: - with $preserve keys = true - 303: array(3) { 304: ["three"]=> 305: int(3) 306: ["two"]=> 307: int(2) 308: ["one"]=> 309: int(1) 310: } 311: - with $preserve_keys = false - 312: array(3) { 313: ["three"]=> 314: int(3) 315: ["two"]=> 316: int(2) 317: ["one"]=> 318: int(1) 319: } 320: -- Iteration 10 -- 321: - with default argument - 322: array(4) { 323: [0]=> 324: int(30) 325: [1]=> 326: int(40) 327: [2]=> 328: int(20) 329: [3]=> 330: int(10) 331: } 332: - with $preserve keys = true - 333: array(4) { 334: [3]=> 335: int(30) 336: [4]=> 337: int(40) 338: [2]=> 339: int(20) 340: [1]=> 341: int(10) 342: } 343: - with $preserve_keys = false - 344: array(4) { 345: [0]=> 346: int(30) 347: [1]=> 348: int(40) 349: [2]=> 350: int(20) 351: [3]=> 352: int(10) 353: } 354: -- Iteration 11 -- 355: - with default argument - 356: array(3) { 357: ["three"]=> 358: string(6) "thirty" 359: ["two"]=> 360: string(6) "twenty" 361: ["one"]=> 362: string(3) "ten" 363: } 364: - with $preserve keys = true - 365: array(3) { 366: ["three"]=> 367: string(6) "thirty" 368: ["two"]=> 369: string(6) "twenty" 370: ["one"]=> 371: string(3) "ten" 372: } 373: - with $preserve_keys = false - 374: array(3) { 375: ["three"]=> 376: string(6) "thirty" 377: ["two"]=> 378: string(6) "twenty" 379: ["one"]=> 380: string(3) "ten" 381: } 382: -- Iteration 12 -- 383: - with default argument - 384: array(3) { 385: [0]=> 386: string(4) "four" 387: [1]=> 388: string(3) "two" 389: ["one"]=> 390: int(1) 391: } 392: - with $preserve keys = true - 393: array(3) { 394: [4]=> 395: string(4) "four" 396: [2]=> 397: string(3) "two" 398: ["one"]=> 399: int(1) 400: } 401: - with $preserve_keys = false - 402: array(3) { 403: [0]=> 404: string(4) "four" 405: [1]=> 406: string(3) "two" 407: ["one"]=> 408: int(1) 409: } 410: -- Iteration 13 -- 411: - with default argument - 412: array(3) { 413: ["null"]=> 414: NULL 415: ["NULL"]=> 416: NULL 417: [""]=> 418: string(4) "null" 419: } 420: - with $preserve keys = true - 421: array(3) { 422: ["null"]=> 423: NULL 424: ["NULL"]=> 425: NULL 426: [""]=> 427: string(4) "null" 428: } 429: - with $preserve_keys = false - 430: array(3) { 431: ["null"]=> 432: NULL 433: ["NULL"]=> 434: NULL 435: [""]=> 436: string(4) "null" 437: } 438: -- Iteration 14 -- 439: - with default argument - 440: array(4) { 441: ["true"]=> 442: bool(true) 443: ["false"]=> 444: bool(false) 445: [0]=> 446: string(5) "false" 447: [1]=> 448: string(4) "true" 449: } 450: - with $preserve keys = true - 451: array(4) { 452: ["true"]=> 453: bool(true) 454: ["false"]=> 455: bool(false) 456: [0]=> 457: string(5) "false" 458: [1]=> 459: string(4) "true" 460: } 461: - with $preserve_keys = false - 462: array(4) { 463: ["true"]=> 464: bool(true) 465: ["false"]=> 466: bool(false) 467: [0]=> 468: string(5) "false" 469: [1]=> 470: string(4) "true" 471: } 472: -- Iteration 15 -- 473: - with default argument - 474: array(3) { 475: ["emptys"]=> 476: string(0) "" 477: ["emptyd"]=> 478: string(0) "" 479: [""]=> 480: string(6) "emptys" 481: } 482: - with $preserve keys = true - 483: array(3) { 484: ["emptys"]=> 485: string(0) "" 486: ["emptyd"]=> 487: string(0) "" 488: [""]=> 489: string(6) "emptys" 490: } 491: - with $preserve_keys = false - 492: array(3) { 493: ["emptys"]=> 494: string(0) "" 495: ["emptyd"]=> 496: string(0) "" 497: [""]=> 498: string(6) "emptys" 499: } 500: -- Iteration 16 -- 501: - with default argument - 502: array(6) { 503: [0]=> 504: bool(true) 505: [1]=> 506: bool(false) 507: [2]=> 508: NULL 509: [3]=> 510: NULL 511: [4]=> 512: string(0) "" 513: [5]=> 514: string(0) "" 515: } 516: - with $preserve keys = true - 517: array(6) { 518: [6]=> 519: bool(true) 520: [5]=> 521: bool(false) 522: [4]=> 523: NULL 524: [3]=> 525: NULL 526: [2]=> 527: string(0) "" 528: [1]=> 529: string(0) "" 530: } 531: - with $preserve_keys = false - 532: array(6) { 533: [0]=> 534: bool(true) 535: [1]=> 536: bool(false) 537: [2]=> 538: NULL 539: [3]=> 540: NULL 541: [4]=> 542: string(0) "" 543: [5]=> 544: string(0) "" 545: } 546: -- Iteration 17 -- 547: - with default argument - 548: array(3) { 549: [0]=> 550: int(6) 551: [1]=> 552: int(5) 553: [""]=> 554: int(4) 555: } 556: - with $preserve keys = true - 557: array(3) { 558: [1]=> 559: int(6) 560: [0]=> 561: int(5) 562: [""]=> 563: int(4) 564: } 565: - with $preserve_keys = false - 566: array(3) { 567: [0]=> 568: int(6) 569: [1]=> 570: int(5) 571: [""]=> 572: int(4) 573: } 574: -- Iteration 18 -- 575: - with default argument - 576: array(3) { 577: ["three"]=> 578: int(3) 579: ["two"]=> 580: int(20) 581: ["One"]=> 582: int(10) 583: } 584: - with $preserve keys = true - 585: array(3) { 586: ["three"]=> 587: int(3) 588: ["two"]=> 589: int(20) 590: ["One"]=> 591: int(10) 592: } 593: - with $preserve_keys = false - 594: array(3) { 595: ["three"]=> 596: int(3) 597: ["two"]=> 598: int(20) 599: ["One"]=> 600: int(10) 601: } 602: Done