( mixed var [, int mode] )
Returns the number of elements in var, which is typically an array, since anything other than objects will
have one element.
For objects count() will return the number of non static properties, not taking visibility into account. 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, 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.
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
$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;
$obj = new StdClass;
$obj->foo = 'A property';
$obj->bar = 'Another property';
// $result == 2;
Example 2. recursive count() example (PHP >= 4.2.0)
$food = array('fruits' => array('orange', 'banana', 'apple'),
'veggie' => array('carrot', 'collard', 'pea'));
// recursive count
COUNT_RECURSIVE); // output 8
// normal count
echo count($food); // output 2
See also is_array(), isset(), and strlen().