Перейти к содержимому

count()

Функция count() — это встроенная функция PHP, которая возвращает количество элементов в массиве или количество свойств в объекте. Она работает с массивами, объектами и некоторыми другими типами данных.

Синтаксис функции count()

Синтаксис функции count() прост и понятен. Она принимает один аргумент — массив или объект, количество элементов или свойств которого нужно подсчитать. Функция возвращает целое число, представляющее количество элементов или свойств.

php
<?php

count(mixed $array_or_object, int $mode = COUNT_NORMAL): int

Примечание: Указанная сигнатура с типами актуальна для PHP 8.0+. В PHP 8.0+ передача не подсчитываемого типа (например, строки или целого числа) вызывает исключение ValueError. В более старых версиях PHP строгие указания типов отсутствуют, но функция работает идентично. Примечание: sizeof() — это устаревший псевдоним для count(), который ведёт себя идентично.

Второй аргумент, $mode, является необязательным и используется для указания того, как должна вести себя функция count(). Он принимает два возможных значения:

  • COUNT_NORMAL: Это режим по умолчанию, который ведёт себя так же, как функция count() без параметра $mode. Он просто подсчитывает количество элементов в массиве или свойств в объекте.
  • COUNT_RECURSIVE: Этот режим рекурсивно подсчитывает элементы во вложенных массивах и объектах.
php
<?php

$data = array('apple', array('banana', 'cherry'));

echo count($data);           // Output: 2
echo count($data, COUNT_RECURSIVE); // Output: 4

Примеры использования функции count()

Давайте рассмотрим несколько практических примеров того, как функция count() может использоваться для подсчёта элементов в массиве и свойств в объекте.

Пример 1: Подсчёт элементов в массиве

Подсчёт элементов в массиве в PHP

php
<?php

$fruits = array('apple', 'banana', 'cherry');

echo count($fruits); // Output: 3

В этом примере у нас есть массив $fruits, содержащий три элемента. Функция count() возвращает 3, что соответствует общему количеству элементов в массиве.

Пример 2: Подсчёт свойств в объекте

Подсчёт свойств в объекте в PHP

php
<?php

class Person implements Countable
{
    public $name;
    public $age;

    public function count()
    {
        return count(get_object_vars($this));
    }
}

$person = new Person();
$person->name = 'John';
$person->age = 30;

echo count($person); // Output: 2

В этом примере у нас есть простой класс Person с двумя публичными свойствами $name и $age. Мы создаём новый экземпляр класса Person и устанавливаем значения его свойств. Поскольку класс реализует интерфейс Countable, вызов count($person) запускает пользовательский метод count(), который возвращает 2. Это демонстрирует, как поведение count() можно настроить для объектов.

Заключение

Функция count() — это простая, но мощная функция в PHP, которую можно использовать для подсчёта элементов в массиве или свойств в объекте. Используя эту функцию, вы можете легко определить количество элементов в ваших структурах данных и использовать эту информацию для написания более эффективного и оптимизированного кода. Как опытные PHP-разработчики, мы рекомендуем использовать функцию count() как часть вашей стратегии обработки данных, чтобы обеспечить масштабируемость и высокую производительность вашего кода.

Практика

Какова функциональность функции 'count()' в PHP?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.