Annotation of embedaddon/php/ext/standard/tests/array/array_reverse_variation5.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test array_reverse() function : usage variations - assoc. array with diff. value for 'array' argument
        !             3: --INI--
        !             4: precision=12
        !             5: --FILE--
        !             6: <?php
        !             7: /* Prototype  : array array_reverse(array $array [, bool $preserve_keys])
        !             8:  * Description: Return input as a new array with the order of the entries reversed
        !             9:  * Source code: ext/standard/array.c
        !            10: */
        !            11: 
        !            12: /*
        !            13:  * Testing the functionality of array_reverse() by giving associative arrays with different
        !            14:  * values for $array argument
        !            15: */
        !            16: 
        !            17: echo "*** Testing array_reverse() : usage variations ***\n";
        !            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: // get a heredoc string
        !            35: $heredoc = <<<EOT
        !            36: Hello world
        !            37: EOT;
        !            38: 
        !            39: // initializing the array
        !            40: $arrays = array (
        !            41: 
        !            42:        // empty array
        !            43: /*1*/  array(),
        !            44: 
        !            45:        // arrays with integer values
        !            46:        array('0' => 0),
        !            47:        array("1" => 1),
        !            48:        array("one" => 1, 'two' => 2, "three" => 3, 4 => 4),
        !            49:  
        !            50:        // arrays with float values
        !            51: /*5*/  array("float" => 2.3333),
        !            52:        array("f1" => 1.2, 'f2' => 3.33, 3 => 4.89999922839999, 'f4' => 33333333.333333),
        !            53:   
        !            54:        // arrays with string values
        !            55:        array(111 => "\tHello", "red" => "col\tor", 2 => "\v\fworld", 3.3 =>  "pen\n"),
        !            56: /*8*/  array(111 => '\tHello', "red" => 'col\tor', 2 => '\v\fworld', 3.3 =>  'pen\n'), 
        !            57:        array(1 => "hello", "heredoc" => $heredoc),
        !            58: 
        !            59:        // array with object, unset variable and resource variable
        !            60:        array(11 => new classA(), "unset" => @$unset_var, "resource" => $fp), 
        !            61: 
        !            62:        // array with mixed values
        !            63: /*11*/ array(1 => 'hello', 2 => new classA(), 222 => "fruit", 'resource' => $fp, "int" => 133, "float" => 444.432, "unset" => @$unset_var, "heredoc" => $heredoc)
        !            64: );
        !            65: 
        !            66: // loop through the various elements of $arrays to test array_reverse()
        !            67: $iterator = 1;
        !            68: foreach($arrays as $array) {
        !            69:   echo "-- Iteration $iterator --\n";
        !            70:   // with default argument
        !            71:   echo "- default argument -\n";
        !            72:   var_dump( array_reverse($array) );
        !            73:   // with $preserve_keys argument
        !            74:   echo "- \$preserve keys = true -\n";
        !            75:   var_dump( array_reverse($array, true) );
        !            76:   echo "- \$preserve_keys = false -\n";
        !            77:   var_dump( array_reverse($array, false) );
        !            78:   $iterator++;
        !            79: };
        !            80: 
        !            81: // close the file resource used
        !            82: fclose($fp);
        !            83: 
        !            84: echo "Done";
        !            85: ?>
        !            86: --EXPECTF--
        !            87: *** Testing array_reverse() : usage variations ***
        !            88: -- Iteration 1 --
        !            89: - default argument -
        !            90: array(0) {
        !            91: }
        !            92: - $preserve keys = true -
        !            93: array(0) {
        !            94: }
        !            95: - $preserve_keys = false -
        !            96: array(0) {
        !            97: }
        !            98: -- Iteration 2 --
        !            99: - default argument -
        !           100: array(1) {
        !           101:   [0]=>
        !           102:   int(0)
        !           103: }
        !           104: - $preserve keys = true -
        !           105: array(1) {
        !           106:   [0]=>
        !           107:   int(0)
        !           108: }
        !           109: - $preserve_keys = false -
        !           110: array(1) {
        !           111:   [0]=>
        !           112:   int(0)
        !           113: }
        !           114: -- Iteration 3 --
        !           115: - default argument -
        !           116: array(1) {
        !           117:   [0]=>
        !           118:   int(1)
        !           119: }
        !           120: - $preserve keys = true -
        !           121: array(1) {
        !           122:   [1]=>
        !           123:   int(1)
        !           124: }
        !           125: - $preserve_keys = false -
        !           126: array(1) {
        !           127:   [0]=>
        !           128:   int(1)
        !           129: }
        !           130: -- Iteration 4 --
        !           131: - default argument -
        !           132: array(4) {
        !           133:   [0]=>
        !           134:   int(4)
        !           135:   ["three"]=>
        !           136:   int(3)
        !           137:   ["two"]=>
        !           138:   int(2)
        !           139:   ["one"]=>
        !           140:   int(1)
        !           141: }
        !           142: - $preserve keys = true -
        !           143: array(4) {
        !           144:   [4]=>
        !           145:   int(4)
        !           146:   ["three"]=>
        !           147:   int(3)
        !           148:   ["two"]=>
        !           149:   int(2)
        !           150:   ["one"]=>
        !           151:   int(1)
        !           152: }
        !           153: - $preserve_keys = false -
        !           154: array(4) {
        !           155:   [0]=>
        !           156:   int(4)
        !           157:   ["three"]=>
        !           158:   int(3)
        !           159:   ["two"]=>
        !           160:   int(2)
        !           161:   ["one"]=>
        !           162:   int(1)
        !           163: }
        !           164: -- Iteration 5 --
        !           165: - default argument -
        !           166: array(1) {
        !           167:   ["float"]=>
        !           168:   float(2.3333)
        !           169: }
        !           170: - $preserve keys = true -
        !           171: array(1) {
        !           172:   ["float"]=>
        !           173:   float(2.3333)
        !           174: }
        !           175: - $preserve_keys = false -
        !           176: array(1) {
        !           177:   ["float"]=>
        !           178:   float(2.3333)
        !           179: }
        !           180: -- Iteration 6 --
        !           181: - default argument -
        !           182: array(4) {
        !           183:   ["f4"]=>
        !           184:   float(33333333.3333)
        !           185:   [0]=>
        !           186:   float(4.8999992284)
        !           187:   ["f2"]=>
        !           188:   float(3.33)
        !           189:   ["f1"]=>
        !           190:   float(1.2)
        !           191: }
        !           192: - $preserve keys = true -
        !           193: array(4) {
        !           194:   ["f4"]=>
        !           195:   float(33333333.3333)
        !           196:   [3]=>
        !           197:   float(4.8999992284)
        !           198:   ["f2"]=>
        !           199:   float(3.33)
        !           200:   ["f1"]=>
        !           201:   float(1.2)
        !           202: }
        !           203: - $preserve_keys = false -
        !           204: array(4) {
        !           205:   ["f4"]=>
        !           206:   float(33333333.3333)
        !           207:   [0]=>
        !           208:   float(4.8999992284)
        !           209:   ["f2"]=>
        !           210:   float(3.33)
        !           211:   ["f1"]=>
        !           212:   float(1.2)
        !           213: }
        !           214: -- Iteration 7 --
        !           215: - default argument -
        !           216: array(4) {
        !           217:   [0]=>
        !           218:   string(4) "pen
        !           219: "
        !           220:   [1]=>
        !           221:   string(7) "world"
        !           222:   ["red"]=>
        !           223:   string(6) "col       or"
        !           224:   [2]=>
        !           225:   string(6) "  Hello"
        !           226: }
        !           227: - $preserve keys = true -
        !           228: array(4) {
        !           229:   [3]=>
        !           230:   string(4) "pen
        !           231: "
        !           232:   [2]=>
        !           233:   string(7) "world"
        !           234:   ["red"]=>
        !           235:   string(6) "col       or"
        !           236:   [111]=>
        !           237:   string(6) "  Hello"
        !           238: }
        !           239: - $preserve_keys = false -
        !           240: array(4) {
        !           241:   [0]=>
        !           242:   string(4) "pen
        !           243: "
        !           244:   [1]=>
        !           245:   string(7) "world"
        !           246:   ["red"]=>
        !           247:   string(6) "col       or"
        !           248:   [2]=>
        !           249:   string(6) "  Hello"
        !           250: }
        !           251: -- Iteration 8 --
        !           252: - default argument -
        !           253: array(4) {
        !           254:   [0]=>
        !           255:   string(5) "pen\n"
        !           256:   [1]=>
        !           257:   string(9) "\v\fworld"
        !           258:   ["red"]=>
        !           259:   string(7) "col\tor"
        !           260:   [2]=>
        !           261:   string(7) "\tHello"
        !           262: }
        !           263: - $preserve keys = true -
        !           264: array(4) {
        !           265:   [3]=>
        !           266:   string(5) "pen\n"
        !           267:   [2]=>
        !           268:   string(9) "\v\fworld"
        !           269:   ["red"]=>
        !           270:   string(7) "col\tor"
        !           271:   [111]=>
        !           272:   string(7) "\tHello"
        !           273: }
        !           274: - $preserve_keys = false -
        !           275: array(4) {
        !           276:   [0]=>
        !           277:   string(5) "pen\n"
        !           278:   [1]=>
        !           279:   string(9) "\v\fworld"
        !           280:   ["red"]=>
        !           281:   string(7) "col\tor"
        !           282:   [2]=>
        !           283:   string(7) "\tHello"
        !           284: }
        !           285: -- Iteration 9 --
        !           286: - default argument -
        !           287: array(2) {
        !           288:   ["heredoc"]=>
        !           289:   string(11) "Hello world"
        !           290:   [0]=>
        !           291:   string(5) "hello"
        !           292: }
        !           293: - $preserve keys = true -
        !           294: array(2) {
        !           295:   ["heredoc"]=>
        !           296:   string(11) "Hello world"
        !           297:   [1]=>
        !           298:   string(5) "hello"
        !           299: }
        !           300: - $preserve_keys = false -
        !           301: array(2) {
        !           302:   ["heredoc"]=>
        !           303:   string(11) "Hello world"
        !           304:   [0]=>
        !           305:   string(5) "hello"
        !           306: }
        !           307: -- Iteration 10 --
        !           308: - default argument -
        !           309: array(3) {
        !           310:   ["resource"]=>
        !           311:   resource(%d) of type (stream)
        !           312:   ["unset"]=>
        !           313:   NULL
        !           314:   [0]=>
        !           315:   object(classA)#%d (0) {
        !           316:   }
        !           317: }
        !           318: - $preserve keys = true -
        !           319: array(3) {
        !           320:   ["resource"]=>
        !           321:   resource(%d) of type (stream)
        !           322:   ["unset"]=>
        !           323:   NULL
        !           324:   [11]=>
        !           325:   object(classA)#%d (0) {
        !           326:   }
        !           327: }
        !           328: - $preserve_keys = false -
        !           329: array(3) {
        !           330:   ["resource"]=>
        !           331:   resource(%d) of type (stream)
        !           332:   ["unset"]=>
        !           333:   NULL
        !           334:   [0]=>
        !           335:   object(classA)#%d (0) {
        !           336:   }
        !           337: }
        !           338: -- Iteration 11 --
        !           339: - default argument -
        !           340: array(8) {
        !           341:   ["heredoc"]=>
        !           342:   string(11) "Hello world"
        !           343:   ["unset"]=>
        !           344:   NULL
        !           345:   ["float"]=>
        !           346:   float(444.432)
        !           347:   ["int"]=>
        !           348:   int(133)
        !           349:   ["resource"]=>
        !           350:   resource(%d) of type (stream)
        !           351:   [0]=>
        !           352:   string(5) "fruit"
        !           353:   [1]=>
        !           354:   object(classA)#%d (0) {
        !           355:   }
        !           356:   [2]=>
        !           357:   string(5) "hello"
        !           358: }
        !           359: - $preserve keys = true -
        !           360: array(8) {
        !           361:   ["heredoc"]=>
        !           362:   string(11) "Hello world"
        !           363:   ["unset"]=>
        !           364:   NULL
        !           365:   ["float"]=>
        !           366:   float(444.432)
        !           367:   ["int"]=>
        !           368:   int(133)
        !           369:   ["resource"]=>
        !           370:   resource(%d) of type (stream)
        !           371:   [222]=>
        !           372:   string(5) "fruit"
        !           373:   [2]=>
        !           374:   object(classA)#%d (0) {
        !           375:   }
        !           376:   [1]=>
        !           377:   string(5) "hello"
        !           378: }
        !           379: - $preserve_keys = false -
        !           380: array(8) {
        !           381:   ["heredoc"]=>
        !           382:   string(11) "Hello world"
        !           383:   ["unset"]=>
        !           384:   NULL
        !           385:   ["float"]=>
        !           386:   float(444.432)
        !           387:   ["int"]=>
        !           388:   int(133)
        !           389:   ["resource"]=>
        !           390:   resource(%d) of type (stream)
        !           391:   [0]=>
        !           392:   string(5) "fruit"
        !           393:   [1]=>
        !           394:   object(classA)#%d (0) {
        !           395:   }
        !           396:   [2]=>
        !           397:   string(5) "hello"
        !           398: }
        !           399: Done

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