Метод contains
Метод contains применяется к коллекции
и позволяет проверить, содержится ли в ней
заданное значение. В качестве параметра метод
принимает искомое значение, либо функцию-замыкание
для более сложной проверки. Метод возвращает
логическое значение true или false.
Синтаксис
<?php
$collection->contains($value);
$collection->contains($callback);
?>
Пример
Проверим, содержится ли число 3 в коллекции чисел:
<?php
use Illuminate\Support\Collection;
$collection = new Collection([1, 2, 3, 4, 5]);
$res = $collection->contains(3);
var_dump($res);
?>
Результат выполнения кода:
"bool(true)"
В этом примере метод вернул true, так как число 3 есть в коллекции.
Пример
Проверим наличие строки 'apple' в коллекции строк:
<?php
use Illuminate\Support\Collection;
$collection = new Collection(['a', 'b', 'c', 'd', 'e']);
$res = $collection->contains('apple');
var_dump($res);
?>
Результат выполнения кода:
"bool(false)"
Здесь метод вернул false, поскольку строки 'apple' нет в коллекции.
Пример
Проверим наличие элемента по условию с использованием замыкания:
<?php
use Illuminate\Support\Collection;
$collection = new Collection([1, 2, 3, 4, 5]);
$res = $collection->contains(function ($value) {
return $value > 4;
});
var_dump($res);
?>
Результат выполнения кода:
"bool(true)"
Замыкание проверяет, есть ли в коллекции элемент больше 4.
Так как число 5 подходит под условие, метод возвращает true.
Пример
Проверим наличие элемента в коллекции с помощью замыкания и сравнения строк:
<?php
use Illuminate\Support\Collection;
$collection = new Collection(['article', 'user', 'category']);
$res = $collection->contains(function ($value) {
return $value === 'article';
});
var_dump($res);
?>
Результат выполнения кода:
"bool(true)"
Метод находит строку 'article' и возвращает true.