count
(PHP 4, PHP 5)
count — Посчитать количество элементов массива или количество свойств объекта
Описание
int count
(
mixed $var
[,
int $mode
] )
Для объектов count() возвращает количество нестатических
свойств, не принимая во внимание видимость. Если у вас включена поддержка
SPL, вы можете перехватить
count(), реализуя интерфейс
Countable. Этот интерфейс имеет только один метод,
count(), который возвращает значение функции
count().
Если var
не является массивом или объектом,
реализующим интерфейс Countable,
будет возвращена 1.
За одним исключением: если var
- NULL,
то будет возвращён 0.
Замечание:
Дополнительный параметр mode
был добавлен начиная с
PHP 4.2.0.
Если дополнительный параметр mode
установлен в
COUNT_RECURSIVE (или 1), count()
будет считать количество элементов массива рекурсивно. Это особенно полезно для подсчёта
всех элементов многомерных массивов. Предустановленное значение
параметра mode
- 0.
count() не обнаруживает бесконечную рекурсию.
Предостережение
count() может возвратить 0 для переменных, которые
не установлены, но также может возвратить 0 для переменных, которые
инициализированы пустым массивом. Используйте функцию
isset() для того, чтобы протестировать, установлена ли переменная.
Пожалуйста, см. раздел этого руководства Array
для того, чтобы получить детальное представление о реализации и использовании
массивов в PHP.
Пример #1 Пример использования count()
<?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;
?>
Пример #2
Пример рекурсивного использования count() (PHP >= 4.2.0)
<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
'veggie' => array('carrot', 'collard', 'pea'));
// рекурсивный count
echo count($food, COUNT_RECURSIVE); // output 8
// обычный count
echo count($food); // output 2
?>
См. также is_array(),
isset() и
strlen().