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