count
(PHP 4, PHP 5)
count — Count elements in an array, or properties in an object
Description
int count
(
mixed $var
[,
int $mode
] )
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.
Please see the Array
section of the manual for a detailed explanation of how arrays
are implemented and used in PHP.
Parameters
-
var
-
The array.
-
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. The default
value for mode
is 0.
count() does not detect infinite recursion.
Return Values
Returns the number of elements in var
, which is
typically an array, since anything else will have one
element.
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.
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.
Examples
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
$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
?>