# count

(PHP 4, PHP 5)

count — Count elements in an array, or properties in an object

### 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().