diff options
| author | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:39:08 -0400 |
|---|---|---|
| committer | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:39:08 -0400 |
| commit | 993e1866df547532a05ab6db76c9ff5aefc9a3df (patch) | |
| tree | 169d3bde0974235d3cde164786ef6f381a4749a7 /ext/standard/tests/array/array_push_variation4.phpt | |
| parent | 1f589a2bd44ba835ad1b009a5d83abd453724829 (diff) | |
| download | php-upstream/5.2.6.tar.gz | |
Imported Upstream version 5.2.6upstream/5.2.6
Diffstat (limited to 'ext/standard/tests/array/array_push_variation4.phpt')
| -rw-r--r-- | ext/standard/tests/array/array_push_variation4.phpt | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/ext/standard/tests/array/array_push_variation4.phpt b/ext/standard/tests/array/array_push_variation4.phpt new file mode 100644 index 000000000..1048d80cf --- /dev/null +++ b/ext/standard/tests/array/array_push_variation4.phpt @@ -0,0 +1,134 @@ +--TEST-- +Test array_push() function : usage variations - referenced variables +--INI-- +allow_call_time_pass_reference=on +--FILE-- +<?php +/* Prototype : int array_push(array $stack, mixed $var [, mixed $...]) + * Description: Pushes elements onto the end of the array + * Source code: ext/standard/array.c + */ + +/* + * Test array_push when: + * 1. passed referenced variables as $var arguments + * 2. $var argument is a reference to $stack argument + */ + +echo "*** Testing array_push() : usage variations ***\n"; + +$var1 = 'a'; +$var2 = 'b'; +$var3 = 'c'; +$var4 = 'x'; +$var5 = 'y'; +$var6 = 'z'; + +$array = array(1, 2, 3); + +echo "\n-- Pass array_push referenced varialbes as \$var arguments --\n"; +var_dump(array_push($array, &$var1, &$var2, &$var3, &$var4, &$var5, &$var6)); +var_dump($array); + +echo "\n-- Pass \$var argument which is a reference to \$stack argument --\n"; +var_dump(array_push($array, &$array)); +var_dump($array); + +/* break cycle */ +$array[9] = null; + +echo "Done"; +?> +--EXPECTF-- +*** Testing array_push() : usage variations *** + +-- Pass array_push referenced varialbes as $var arguments -- +int(9) +array(9) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) + [3]=> + &string(1) "a" + [4]=> + &string(1) "b" + [5]=> + &string(1) "c" + [6]=> + &string(1) "x" + [7]=> + &string(1) "y" + [8]=> + &string(1) "z" +} + +-- Pass $var argument which is a reference to $stack argument -- +int(10) +array(10) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) + [3]=> + &string(1) "a" + [4]=> + &string(1) "b" + [5]=> + &string(1) "c" + [6]=> + &string(1) "x" + [7]=> + &string(1) "y" + [8]=> + &string(1) "z" + [9]=> + &array(10) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) + [3]=> + &string(1) "a" + [4]=> + &string(1) "b" + [5]=> + &string(1) "c" + [6]=> + &string(1) "x" + [7]=> + &string(1) "y" + [8]=> + &string(1) "z" + [9]=> + &array(10) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) + [3]=> + &string(1) "a" + [4]=> + &string(1) "b" + [5]=> + &string(1) "c" + [6]=> + &string(1) "x" + [7]=> + &string(1) "y" + [8]=> + &string(1) "z" + [9]=> + *RECURSION* + } + } +} +Done |
