Описание
int
count ( mixed var [, int mode] )
Возвратить количество элементов переменной var,
которая обычно является array, или любым другим объектом, который может
содержать хотя бы один элемент.
Для объектов count() возвращает количество нестатических
свойств, не принимая во внимание видимость. Если у вас включена поддержка
SPL, вы можете перехватить
count(), реализуя интерфейс
Countable. Этот интерфейс имеет только один метод,
count(), который возвращает значение функции
count().
Если var не является объектом или массивом,
будет возвращена 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;
$obj
= new
StdClass
;
$obj
->
foo
=
'A property'
;
$obj
->
bar
=
'Another property'
;
$result
=
count
(
$obj
);
// $result == 2;
?>
|
|
Пример 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().