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>