Annotation of embedaddon/php/ext/standard/tests/array/array_unshift_variation3.phpt, revision 1.1.1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>