(PHP 4, PHP 5, PHP 7)
count — Count all elements in an array, or something in an object
count ( Countable|array $value [, int $mode = COUNT_NORMAL ] ) : int
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.
value
An array or Countable object.
mode
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 value
. When the parameter is neither an array nor an object with implemented Countable interface, 1
will be returned. There is one exception, if value
is null
, 0
will be returned.
Example #1 count() example
<?php $a[0] = 1; $a[1] = 3; $a[2] = 5; var_dump(count($a)); $b[0] = 7; $b[5] = 9; $b[10] = 11; var_dump(count($b)); var_dump(count(null)); var_dump(count(false)); ?>
The above example will output:
int(3) int(3) Warning: count(): Parameter must be an array or an object that implements Countable in … on line 12 // as of PHP 7.2 int(0) Warning: count(): Parameter must be an array or an object that implements Countable in … on line 14 // as of PHP 7.2 int(1)
Example #2 Recursive count() example
<?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 ?>
Version | Description |
---|---|
7.2.0 | count() will now yield a warning on invalid countable types passed to the value parameter. |
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.count.php