Метод has
Метод has класса Arr проверяет, существует ли указанный ключ (или ключи) в массиве. Первым параметром передаётся массив для проверки, вторым - ключ или массив ключей. Метод возвращает true, если все указанные ключи существуют в массиве, и false в противном случае. Для вложенных ключей используется "точечная" нотация.
Синтаксис
<?php
use Illuminate\Support\Arr;
$res = Arr::has($array, $key);
?>
Пример
Давайте проверим, существует ли ключ 'name' в массиве пользователя:
<?php
use Illuminate\Support\Arr;
$user = [
'name' => 'John',
'age' => 30,
'city' => 'New York'
];
$res = Arr::has($user, 'name');
echo $res;
?>
Результат выполнения кода:
true
Пример
Проверим существование нескольких ключей одновременно:
<?php
use Illuminate\Support\Arr;
$user = [
'name' => 'John',
'age' => 30,
'city' => 'New York'
];
$res = Arr::has($user, ['name', 'age', 'city']);
echo $res;
?>
Результат выполнения кода:
true
Пример
Метод возвращает false, если хотя бы один из указанных ключей отсутствует:
<?php
use Illuminate\Support\Arr;
$user = [
'name' => 'John',
'age' => 30
];
$res = Arr::has($user, ['name', 'email']);
echo $res;
?>
Результат выполнения кода:
false
Пример
Проверим наличие вложенного ключа с помощью "точечной" нотации:
<?php
use Illuminate\Support\Arr;
$user = [
'name' => 'John',
'profile' => [
'email' => 'john@example.com',
'phone' => '123-456-7890'
]
];
$res = Arr::has($user, 'profile.email');
echo $res;
?>
Результат выполнения кода:
true
Пример
Проверим несколько вложенных ключей одновременно:
<?php
use Illuminate\Support\Arr;
$user = [
'name' => 'John',
'profile' => [
'email' => 'john@example.com',
'phone' => '123-456-7890',
'address' => [
'city' => 'New York',
'zip' => '10001'
]
]
];
$res = Arr::has($user, ['profile.email', 'profile.address.city']);
echo $res;
?>
Результат выполнения кода:
true
Пример
Проверим, что метод возвращает false для несуществующего вложенного ключа:
<?php
use Illuminate\Support\Arr;
$user = [
'name' => 'John',
'profile' => [
'email' => 'john@example.com'
]
];
$res = Arr::has($user, 'profile.address');
echo $res;
?>
Результат выполнения кода:
false
Смотрите также
-
метод
get,
который получает значение по ключу с возможностью указания значения по умолчанию -
метод
set,
который устанавливает значение по ключу с поддержкой "точечной" нотации -
метод
forget,
который удаляет один или несколько ключей из массива -
метод
exists,
который проверяет существование ключа в массиве