Функция count() — одна из самых часто используемых в PHP. Она нужна для того, чтобы узнать, сколько элементов находится в массиве или объекте, который реализует интерфейс Countable. Это очень удобно, когда нужно посчитать количество записей, проверить, пустой ли массив, или просто пройтись по всем элементам.
Для чего применяется count()
• Посчитать количество элементов в массиве — например, узнать, сколько товаров в корзине или сколько сообщений в чате.
• Проверить, пустой ли массив — если результат равен 0, значит, массив пустой.
• Работа с многомерными массивами — можно считать элементы не только в одномерных, но и во вложенных массивах.
• Работа с объектами — если объект реализует интерфейс Countable, можно узнать количество элементов в объекте.
Как использовать count()
count($array, $mode = COUNT_NORMAL)
• $array — массив или объект, который нужно посчитать.
• $mode — необязательный параметр. Если указать COUNT_RECURSIVE, функция посчитает все элементы во вложенных массивах.
Что принимает count()
• Массив — основной вариант использования.
• Объект — если реализует интерфейс Countable.
• NULL или не массив/объект — вернёт 0.
Что возвращает count()
• Целое число — количество элементов в массиве или объекте.
• Если передать не массив и не объект, функция вернёт 0.
Примеры использования
1. Подсчитать количество элементов в массиве:
<?php
$fruits = ["apple", "banana", "orange"];
echo count($fruits); // Выведет: 3
?>
2. Проверить, пустой ли массив:
<?php
$items = [];
if (count($items) === 0) {
echo "Массив пустой";
}
?>
3. Посчитать элементы во вложенных массивах:
<?php
$data = [
"fruits" => ["apple", "banana"],
"vegetables" => ["carrot", "potato"]
];
echo count($data); // Выведет: 2 (fruits и vegetables)
echo count($data, COUNT_RECURSIVE); // Выведет: 6 (все элементы и подмассивы)
?>
4. Работа с объектом, реализующим Countable:
<?php
class MyCollection implements Countable {
private $items = [1, 2, 3];
public function count() {
return count($this->items);
}
}
$collection = new MyCollection();
echo count($collection); // Выведет: 3
?>
5. Если передать не массив и не объект:
<?php
echo count(null); // 0
echo count(123); // 0
?>
Важные моменты
• Если нужно посчитать все элементы во вложенных массивах, используем второй параметр: count($array, COUNT_RECURSIVE).
• Если передать строку, число или null — результат всегда будет 0.
• Для объектов обязательно реализовать интерфейс Countable, иначе будет ошибка.
Вывод:
count() — это простой и быстрый способ узнать, сколько элементов в массиве или объекте. Используй её для проверки, подсчёта и работы с коллекциями данных.

