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

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

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