Метод exists
Метод exists класса ArrayCollection проверяет наличие элемента в коллекции. Первым параметром передаётся ключ, по которому нужно выполнить проверку. Вторым необязательным параметром передаётся значение. Если значение указано, метод проверяет, что по заданному ключу находится именно это значение. Если значение не указано, метод проверяет, существует ли элемент с таким ключом.
Синтаксис
public function exists(int|string $key, mixed $value = null): bool
Пример
Давайте создадим коллекцию и проверим наличие элемента по ключу:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use DoctrineCommonCollectionsArrayCollection;
class ArticleController extends AbstractController
{
public function index(): Response
{
$collection = new ArrayCollection(['a', 'b', 'c', 'd', 'e']);
$res = $collection->exists(2);
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
true
Пример
Давайте проверим наличие элемента по ключу, которого нет в коллекции:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use DoctrineCommonCollectionsArrayCollection;
class ArticleController extends AbstractController
{
public function index(): Response
{
$collection = new ArrayCollection(['a', 'b', 'c', 'd', 'e']);
$res = $collection->exists(10);
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
false
Пример
Давайте проверим, что по заданному ключу находится конкретное значение:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use DoctrineCommonCollectionsArrayCollection;
class ArticleController extends AbstractController
{
public function index(): Response
{
$collection = new ArrayCollection(['a', 'b', 'c', 'd', 'e']);
$res = $collection->exists(2, 'c');
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
true
Пример
Давайте проверим, что по заданному ключу находится другое значение:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use DoctrineCommonCollectionsArrayCollection;
class ArticleController extends AbstractController
{
public function index(): Response
{
$collection = new ArrayCollection(['a', 'b', 'c', 'd', 'e']);
$res = $collection->exists(2, 'b');
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
false
Пример
Давайте проверим наличие элемента по строковому ключу:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use DoctrineCommonCollectionsArrayCollection;
class ArticleController extends AbstractController
{
public function index(): Response
{
$collection = new ArrayCollection([
'user' => 'abcde',
'article' => 'hello'
]);
$res = $collection->exists('user');
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
true
Смотрите также
-
класс
ArrayCollection,
который представляет собой коллекцию элементов -
метод
contains,
который проверяет наличие значения в коллекции -
метод
containsKey,
который проверяет наличие ключа в коллекции -
метод
indexOf,
который возвращает ключ по значению элемента