Description
int
count ( mixed var [, int mode] )
Returns the number of elements in var,
which is typically an array, since anything else
will have one element.
For objects, if you have
SPL installed, you can hook into
count() by implementing interface
Countable. The interface has exactly one method,
count(), which returns the return value for the
count() function.
If var is not an array or an object with
implemented Countable interface,
1 will be returned.
There is one exception, if var is NULL,
0 will be returned.
Note:
The optional mode parameter is available as of
PHP 4.2.0.
If the optional mode parameter is set to
COUNT_RECURSIVE (or 1), count()
will recursively count the array. This is particularly useful for
counting all the elements of a multidimensional array. The default
value for mode is 0.
count() does not detect infinite recursion.
Caution |
count() may return 0 for a variable that
isn't set, but it may also return 0 for a variable that has
been initialized with an empty array. Use
isset() to test if a variable is set.
|
Please see the Array
section of the manual for a detailed explanation of how arrays
are implemented and used in PHP.
Example 1. count() example
<?php $a[0] = 1; $a[1] = 3; $a[2] = 5; $result = count($a); // $result == 3
$b[0] = 7; $b[5] = 9; $b[10] = 11; $result = count($b); // $result == 3
$result = count(null); // $result == 0
$result = count(false); // $result == 1 ?>
|
|
Example 2.
Recursive count() example (PHP >= 4.2.0)
<?php $food = array('fruits' => array('orange', 'banana', 'apple'), 'veggie' => array('carrot', 'collard', 'pea'));
// recursive count echo count($food, COUNT_RECURSIVE); // output 8
// normal count echo count($food); // output 2
?>
|
|
See also is_array(),
isset(), and
strlen().