(PHP 4, PHP 5, PHP 7)
count — Count all elements in an array, or something in an object
$mode= COUNT_NORMAL ] )
Counts all elements in an array, or something in an object.
For objects, if you have SPL installed, you can hook into count() by implementing interface Countable. The interface has exactly one method, Countable::count(), which returns the return value for the count() function.
Please see the Array section of the manual for a detailed explanation of how arrays are implemented and used in PHP.
An array or Countable object.
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.
count() can detect recursion to avoid an infinite
loop, but will emit an
E_WARNING every time it
does (in case the array contains itself more than once) and return a
count higher than may be expected.
Returns the number of elements in
If the parameter is not an array or not an object with
implemented Countable interface,
1 will be returned.
There is one exception, if
0 will be returned.
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.
Example #1 count() example
$a = 1;
$a = 3;
$a = 5;
$result = count($a);
// $result == 3
$b = 7;
$b = 9;
$b = 11;
$result = count($b);
// $result == 3
$result = count(null);
// $result == 0
$result = count(false);
// $result == 1
Example #2 Recursive count() example
$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