Метод count
Метод count применяется к коллекции и возвращает общее количество элементов в ней. Этот метод полезен, когда нужно узнать размер коллекции без выполнения дополнительных запросов к базе данных. Метод не принимает параметров и возвращает целое число.
Синтаксис
<?php
$collection->count();
?>
Пример
Давайте создадим коллекцию из массива чисел и подсчитаем количество элементов:
<?php
use Illuminate\Support\Collection;
$collection = new Collection([1, 2, 3, 4, 5]);
$res = $collection->count();
echo $res;
?>
Результат выполнения кода:
"5"
Пример
Подсчитаем количество активных пользователей с помощью фильтрации и метода count:
<?php
use Illuminate\Support\Collection;
$users = new Collection([
['name' => 'John', 'active' => true],
['name' => 'Jane', 'active' => false],
['name' => 'Bob', 'active' => true],
['name' => 'Alice', 'active' => true],
]);
$activeUsers = $users->filter(function ($user) {
return $user['active'] === true;
});
$res = $activeUsers->count();
echo $res;
?>
Результат выполнения кода:
"3"
Пример
Используем метод count вместе с методом map для получения количества элементов после преобразования:
<?php
use Illuminate\Support\Collection;
$collection = new Collection(['abcde', 'article', 'user']);
$mapped = $collection->map(function ($item) {
return strlen($item);
});
$res = $mapped->count();
echo $res;
?>
Результат выполнения кода:
"3"
Пример
Проверим, пуста ли коллекция, используя метод count:
<?php
use Illuminate\Support\Collection;
$emptyCollection = new Collection([]);
$nonEmptyCollection = new Collection(['a', 'b', 'c']);
if ($emptyCollection->count() === 0) {
echo "Collection is empty";
}
if ($nonEmptyCollection->count() > 0) {
echo "Collection has elements";
}
?>
Результат выполнения кода:
"Collection is emptyCollection has elements"
Смотрите также
-
метод
isEmpty,
который проверяет, пуста ли коллекция -
метод
isNotEmpty,
который проверяет, не пуста ли коллекция -
метод
first,
который возвращает первый элемент коллекции -
метод
last,
который возвращает последний элемент коллекции