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

1.1     ! misho       1: --TEST--
        !             2: Test array_push() function : usage variations - referenced variables
        !             3: --INI--
        !             4: allow_call_time_pass_reference=on
        !             5: --FILE--
        !             6: <?php
        !             7: /* Prototype  : int array_push(array $stack, mixed $var [, mixed $...])
        !             8:  * Description: Pushes elements onto the end of the array 
        !             9:  * Source code: ext/standard/array.c
        !            10:  */
        !            11: 
        !            12: /*
        !            13:  * Test array_push when:
        !            14:  * 1. passed referenced variables as $var arguments
        !            15:  * 2. $var argument is a reference to $stack argument
        !            16:  */
        !            17: 
        !            18: echo "*** Testing array_push() : usage variations ***\n";
        !            19: 
        !            20: $var1 = 'a';
        !            21: $var2 = 'b';
        !            22: $var3 = 'c';
        !            23: $var4 = 'x';
        !            24: $var5 = 'y';
        !            25: $var6 = 'z';
        !            26: 
        !            27: $array = array(1, 2, 3);
        !            28: 
        !            29: echo "\n-- Pass array_push referenced varialbes as \$var arguments --\n";
        !            30: var_dump(array_push($array, &$var1, &$var2, &$var3, &$var4, &$var5, &$var6));
        !            31: var_dump($array);
        !            32: 
        !            33: echo "\n-- Pass \$var argument which is a reference to \$stack argument --\n";
        !            34: var_dump(array_push($array, &$array));
        !            35: var_dump($array);
        !            36: 
        !            37: echo "Done";
        !            38: ?>
        !            39: --EXPECTF--
        !            40: *** Testing array_push() : usage variations ***
        !            41: 
        !            42: -- Pass array_push referenced varialbes as $var arguments --
        !            43: int(9)
        !            44: array(9) {
        !            45:   [0]=>
        !            46:   int(1)
        !            47:   [1]=>
        !            48:   int(2)
        !            49:   [2]=>
        !            50:   int(3)
        !            51:   [3]=>
        !            52:   &string(1) "a"
        !            53:   [4]=>
        !            54:   &string(1) "b"
        !            55:   [5]=>
        !            56:   &string(1) "c"
        !            57:   [6]=>
        !            58:   &string(1) "x"
        !            59:   [7]=>
        !            60:   &string(1) "y"
        !            61:   [8]=>
        !            62:   &string(1) "z"
        !            63: }
        !            64: 
        !            65: -- Pass $var argument which is a reference to $stack argument --
        !            66: int(10)
        !            67: array(10) {
        !            68:   [0]=>
        !            69:   int(1)
        !            70:   [1]=>
        !            71:   int(2)
        !            72:   [2]=>
        !            73:   int(3)
        !            74:   [3]=>
        !            75:   &string(1) "a"
        !            76:   [4]=>
        !            77:   &string(1) "b"
        !            78:   [5]=>
        !            79:   &string(1) "c"
        !            80:   [6]=>
        !            81:   &string(1) "x"
        !            82:   [7]=>
        !            83:   &string(1) "y"
        !            84:   [8]=>
        !            85:   &string(1) "z"
        !            86:   [9]=>
        !            87:   &array(10) {
        !            88:     [0]=>
        !            89:     int(1)
        !            90:     [1]=>
        !            91:     int(2)
        !            92:     [2]=>
        !            93:     int(3)
        !            94:     [3]=>
        !            95:     &string(1) "a"
        !            96:     [4]=>
        !            97:     &string(1) "b"
        !            98:     [5]=>
        !            99:     &string(1) "c"
        !           100:     [6]=>
        !           101:     &string(1) "x"
        !           102:     [7]=>
        !           103:     &string(1) "y"
        !           104:     [8]=>
        !           105:     &string(1) "z"
        !           106:     [9]=>
        !           107:     *RECURSION*
        !           108:   }
        !           109: }
        !           110: Done

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