Count: примеры (PHP)
count(Countable|array $value, int $mode = COUNT_NORMAL): intФункция count в PHP применяется для подсчета количества элементов в массиве или свойства объекта, реализующего интерфейс Countable. Её основное назначение - определение размера структуры данных.
Функция используется, когда требуется узнать число элементов в массиве, проверить, пуста ли коллекция, или ограничить обработку данных по количеству.
- $value (обязательный) - массив или объект Countable для подсчета элементов
- $mode (опциональный) - режим подсчета. Принимает константы:
- COUNT_NORMAL (значение 0) - стандартный подсчет без рекурсии (по умолчанию)
- COUNT_RECURSIVE (значение 1) - рекурсивный подсчет всех элементов многомерного массива
$array = [1, 2, 3, 4, 5];
echo count($array);5
$emptyArray = [];
echo count($emptyArray);0
$multiArray = ['a' => [1, 2], 'b' => [3, 4, 5]];
echo count($multiArray, COUNT_RECURSIVE);7
class MyCollection implements Countable {
private $items = [1, 2, 3];
public function count(): int {
return count($this->items);
}
}
$collection = new MyCollection();
echo count($collection);3
Функция sizeof является псевдонимом count и работает идентично. Используется реже, но поддерживается для совместимости.
Функция iterator_count подсчитывает элементы в итераторе. Предпочтительнее использовать с объектами, реализующими интерфейс Traversable.
$iterator = new ArrayIterator([1, 2, 3, 4]);
echo iterator_count($iterator);4
Функция empty проверяет, пуста ли переменная. Возвращает true для пустых массивов, тогда как count возвращает 0. Используется для быстрой проверки наличия данных.
echo count($undefinedVar);Warning: count(): Parameter must be an array or an object that implements Countable
echo count('string');
echo count(123);
echo count(null);1 1 0
В PHP 8 count() для скалярных значений возвращает 1, для null - 0.
$array = [1, 2];
$array[] = &$array;
echo count($array, COUNT_RECURSIVE);PHP Warning: count(): Recursion detected
В PHP 8.0 поведение функции count() со скалярными значениями и null было изменено. Теперь count() выдает предупреждение для некорректных типов, но возвращает 1 для скаляров и 0 для null.
В PHP 7.2 было добавлено предупреждение при передаче в count() параметров некорректного типа. Ранее функция молчаливо возвращала 1.
До PHP 4.2.0 функция count() при обнаружении неинициализированной переменной возвращала 0 и инициализировала её как пустой массив.
$users = [
['name' => 'Alice', 'active' => true],
['name' => 'Bob', 'active' => false],
['name' => 'Charlie', 'active' => true]
];
$activeUsers = array_filter($users, fn($user) => $user['active']);
echo count($activeUsers);2
$data = [
'fruits' => ['apple', 'banana', 'orange'],
'vegetables' => ['carrot', 'potato', ['tomato', 'cucumber']],
'count' => 5
];
$total = count($data, COUNT_RECURSIVE);
$normal = count($data);
echo "Рекурсивно: $total, Обычно: $normal";Рекурсивно: 11, Обычно: 3
$largeArray = range(1, 1000000);
$start = microtime(true);
$count = count($largeArray);
$time = microtime(true) - $start;
echo "Подсчет $count элементов занял: ".round($time*1000, 4)." мс";Подсчет 1000000 элементов занял: 0.0129 мс
$arrayObject = new ArrayObject([1, 2, 3, 4, 5]);
echo count($arrayObject);5
$stack = new SplStack();
$stack->push('a');
$stack->push('b');
$stack->push('c');
echo count($stack);3
$dynamicArray = [];
for ($i = 0; $i < 10; $i++) {
$dynamicArray[] = $i;
echo "Шаг $i: элементов - ".count($dynamicArray)."\n";
}Шаг 0: элементов - 1 Шаг 1: элементов - 2 ... Шаг 9: элементов - 10
Count в Python
В Python используется функция len() для получения длины последовательности. Работает со списками, кортежами, строками и словарями.
my_list = [1, 2, 3, 4, 5]
print(len(my_list))5
Count в Javascript
В JavaScript у массивов есть свойство length. Для объектов нет встроенной функции подсчета свойств.
const array = [1, 2, 3, 4, 5];
console.log(array.length);5
Count в MySQL
В SQL функция COUNT() является агрегатной и подсчитывает строки в результате запроса.
SELECT COUNT(*) FROM users WHERE active = 1;42