diff options
Diffstat (limited to 'ext/standard/tests/array/count_variation3.phpt')
| -rw-r--r-- | ext/standard/tests/array/count_variation3.phpt | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/ext/standard/tests/array/count_variation3.phpt b/ext/standard/tests/array/count_variation3.phpt new file mode 100644 index 000000000..7ec5667d3 --- /dev/null +++ b/ext/standard/tests/array/count_variation3.phpt @@ -0,0 +1,41 @@ +--TEST-- +Test count() function : usage variations - Infinitely recursive array +--FILE-- +<?php +/* Prototype : int count(mixed $var [, int $mode]) + * Description: Count the number of elements in a variable (usually an array) + * Source code: ext/standard/array.c + */ + +/* + * Pass count() an infinitely recursive array as $var argument + * This will stop the script before it reaches the end. + */ + +echo "*** Testing count() : usage variations ***\n"; + +$array1 = array (1, 2, 'three'); +// get an infinitely recursive array +$array1[] = &$array1; + +echo "\n-- \$mode not set: --\n"; +var_dump(count ($array1)); + +echo "\n-- \$mode = 1: --\n"; +var_dump(count ($array1, 1)); + +$array1[3] = null; + +echo "Done"; +?> +--EXPECTF-- +*** Testing count() : usage variations *** + +-- $mode not set: -- +int(4) + +-- $mode = 1: -- + +Warning: count(): recursion detected in %s on line %d +int(12) +Done |
