PHP Manual
Prev |  | Next

# count

(PHP 3, 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().

Prev | Home | Next
compact | Up | current