PHP count() Function
Topic: PHP Array ReferencePrev|Next
Description
The count() function count all elements in an array, or something in an object.
The following table summarizes the technical details of this function.
| Return Value: | Returns the number of elements in an array. |
|---|---|
| Changelog: | Since PHP 7.2.0 this function yield a warning on invalid countable types. |
| Version: | PHP 4+ |
Syntax
The basic syntax of the count() function is given with:
The following example shows the count() function in action.
Example
Run this code »<?php
// Sample array
$cars = array("Audi", "BMW", "Volvo", "Toyota");
// Display array elements count
echo count($cars);
?>
Parameters
The count() function accepts two parameters.
| Parameter | Description |
|---|---|
| array | Required. Specifies an array or countable object. |
| mode | Optional. If it 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. |
Note: The count() function may return 0 for a variable that isn't set, or has been initialized with an empty array. Use isset() function to test if a variable is set.
More Examples
Here're some more examples showing how count() function basically works:
The following example demonstrates how to count all the elements in a multidimensional array recursively using the count() function. Let's try it out and see how it works:
Example
Run this code »<?php
// Sample array
$cars = array(
"Audi" => array("RS7", "A8"),
"BMW" => array("Z4", "X7", "M8"),
"Mercedes" => array("GLA", "GLS"),
"Volvo" => array("XC90")
);
// Getting normal count
echo sizeof($cars); // Prints: 4
// Getting recursive count
echo sizeof($cars, 1); // Prints: 12
?>
If you want to use count($object) and get the expected results your class has to implement the Countable interface, as demonstrates in the following example:
Example
Run this code »<?php
class MyClass implements Countable
{
protected $number = 4;
public function count(){
return $this->number;
}
}
// Creating object
$countable = new MyClass();
echo count($countable); // Prints: 4
?>

