count

(PHP 4, PHP 5, PHP 7, PHP 8)

count — Підраховує кількість елементів масиву або Countable об'єкті

Опис

count(Countable|array $value, int $mode = COUNT_NORMAL): int

Підраховує всі елементи у масиві, якщо використовується масив. Якщо використовується об'єкт, який реалізує інтерфейс Countable, функція повертає результат виконання методу Countable::count()

Список параметрів

value

Масив чи об'єкт, що реалізує Countable

mode

Якщо необов'язковий параметр modeустановлен в**COUNT_RECURSIVE**(или 1),count() рекурсивно підраховуватиме кількість елементів масиву. Це особливо корисно для підрахунку всіх елементів багатовимірних масивів.

Застереження

count() вміє визначати рекурсію для уникнення нескінченного циклу, але при кожному виявленні виводить помилку рівня E_WARNING (у випадку, якщо масив містить більше одного разу) і повертає більшу кількість, ніж могло б очікуватися.

Значення, що повертаються

Повертає кількість елементів у value. До PHP 8.0.0, якщо параметр не був масивом (array), ні об'єктом (object), що реалізує інтерфейс Countable, поверталося , если значение параметраvalue не було null, у цьому випадку поверталося

список змін

ВерсияОпис
8.0.0count() тепер викидає TypeError, якщо передано неприпустимий обчислюваний тип параметр value
7.2.0count() тепер видаватиме попередження про неприпустимі обчислювані типи, передані в параметр value

Приклади

Приклад #1 Приклад використання count()****

Loading...

Результат виконання наведеного прикладу:

int(3)
int(3)

Приклад #2 Приклад використання count()** з незліченним типом (поганий приклад - не робіть так)**

Loading...

Результат виконання наведеного прикладу:

int(3)
int(0)
int(1)

Результат виконання наведеного прикладу в PHP 7.2:

int(3)

Warning: count(): Parameter must be an array or an object that implements Countable in … on line 12
int(0)

Warning: count(): Parameter must be an array or an object that implements Countable in … on line 14
int(1)

Результат виконання наведеного прикладу в PHP 8:

int(3)

Fatal error: Uncaught TypeError: count(): Argument #1 ($var) must be of type Countable .. on line 12

Приклад #3 Приклад рекурсивного використання count()

Loading...

Результат виконання наведеного прикладу:

int(8)
int(2)

Приклад #4 Об'єкт, що реалізує інтерфейс Countable

Loading...

Результат виконання наведеного прикладу:

int(2)

Дивіться також

  • is_array() - Визначає, чи є змінна масив
  • isset() - Визначає, чи була встановлена ​​змінна значенням, відмінним від null
  • empty() - Перевіряє, чи порожня змінна
  • strlen() - Повертає довжину рядка
  • is_countable() - Перевіряє, чи є зміст змінної лічильне значення
  • Масиви