diff options
author | Josie Messa <jmessa@php.net> | 2008-02-13 16:42:17 +0000 |
---|---|---|
committer | Josie Messa <jmessa@php.net> | 2008-02-13 16:42:17 +0000 |
commit | a74685ea0d8f6150832ca8bade8bed40e8ed2f1e (patch) | |
tree | a6bf99cba18288e78c7e8b20510d2d4e41eb8e85 /ext/standard/tests/array/array_shift_variation6.phpt | |
parent | 9fdaddc56d555faee3c4685b8280b7510f0ab8e7 (diff) | |
download | php-git-a74685ea0d8f6150832ca8bade8bed40e8ed2f1e.tar.gz |
- New tests for array_shift() function
Diffstat (limited to 'ext/standard/tests/array/array_shift_variation6.phpt')
-rw-r--r-- | ext/standard/tests/array/array_shift_variation6.phpt | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/ext/standard/tests/array/array_shift_variation6.phpt b/ext/standard/tests/array/array_shift_variation6.phpt new file mode 100644 index 0000000000..9033e7d17c --- /dev/null +++ b/ext/standard/tests/array/array_shift_variation6.phpt @@ -0,0 +1,83 @@ +--TEST-- +Test array_shift() function : usage variations - Referenced arrays +--FILE-- +<?php +/* Prototype : mixed array_shift(array &$stack) + * Description: Pops an element off the beginning of the array + * Source code: ext/standard/array.c + */ + +/* + * Test how array_shift when passed: + * 1. a variable that is referenced to an array + * 2. an array that contains a referenced array + */ + +echo "*** Testing array_shift() : usage variations ***\n"; + +echo "\n-- Variable is referenced array --\n"; +$original_array = array('zero', 'one', 'two'); +$copied_array = &$original_array; + +echo "Result: "; +var_dump(array_shift($copied_array)); +echo "\n\$original_array:\n"; +var_dump($original_array); +echo "\n\$copied_array:\n"; +var_dump($copied_array); + +echo "\n-- Element is referenced array --\n"; +$new_array = array (&$copied_array, 1, 'two'); +echo "Result: "; +var_dump(array_shift($new_array[0])); +echo "\n\$new_array:\n"; +var_dump($new_array); +echo "\n\$copied_array\n"; +var_dump($copied_array); + +echo "Done"; +?> +--EXPECTF-- +*** Testing array_shift() : usage variations *** + +-- Variable is referenced array -- +Result: string(4) "zero" + +$original_array: +array(2) { + [0]=> + string(3) "one" + [1]=> + string(3) "two" +} + +$copied_array: +array(2) { + [0]=> + string(3) "one" + [1]=> + string(3) "two" +} + +-- Element is referenced array -- +Result: string(3) "one" + +$new_array: +array(3) { + [0]=> + &array(1) { + [0]=> + string(3) "two" + } + [1]=> + int(1) + [2]=> + string(3) "two" +} + +$copied_array +array(1) { + [0]=> + string(3) "two" +} +Done
\ No newline at end of file |