РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1051 of 1392 menu

Метод has

Метод has применяется к массиву или коллекции и проверяет существование указанного ключа или набора ключей. В качестве аргумента передаётся ключ или массив ключей, которые необходимо проверить. Метод возвращает true, если все указанные ключи существуют, и false в противном случае. Для проверки вложенных ключей используется "точечная" нотация.

Синтаксис

<?php use Illuminate\Support\Collection; use Illuminate\Support\Arr; // Для коллекции $collection->has($key); // Для массива через класс Arr Arr::has($array, $key); ?>

Пример

Давайте проверим наличие ключа 'status' в массиве данных пользователя:

<?php use Illuminate\Support\Arr; $user = [ 'id' => 1, 'name' => 'John Doe', 'status' => 'active' ]; $res = Arr::has($user, 'status'); echo $res; ?>

Результат выполнения кода:

true

Пример

Проверим наличие ключа 'email', которого нет в массиве:

<?php use Illuminate\Support\Arr; $user = [ 'id' => 1, 'name' => 'John Doe' ]; $res = Arr::has($user, 'email'); echo $res; ?>

Результат выполнения кода:

false

Пример

Проверим сразу несколько ключей в массиве данных товара:

<?php use Illuminate\Support\Arr; $product = [ 'id' => 5, 'title' => 'Laptop', 'price' => 999, 'category' => 'electronics' ]; $res = Arr::has($product, ['id', 'price', 'category']); echo $res; ?>

Результат выполнения кода:

true

Пример

Если хотя бы одного ключа из списка нет, метод возвращает false:

<?php use Illuminate\Support\Arr; $product = [ 'id' => 5, 'title' => 'Laptop', 'price' => 999 ]; $res = Arr::has($product, ['id', 'price', 'discount']); echo $res; ?>

Результат выполнения кода:

false

Пример

Проверим существование вложенного ключа с использованием "точечной" нотации:

<?php use Illuminate\Support\Arr; $data = [ 'user' => [ 'profile' => [ 'age' => 25, 'city' => 'New York' ] ] ]; $res = Arr::has($data, 'user.profile.city'); echo $res; ?>

Результат выполнения кода:

true

Пример

Используем метод has с коллекцией Eloquent:

<?php use App\Models\User; use Illuminate\Support\Collection; $users = User::all(); // Проверяем наличие ключа 'email' в коллекции $res = $users->has('email'); echo $res; ?>

Результат выполнения кода:

true

Смотрите также

  • метод contains,
    который проверяет наличие значения в коллекции
  • метод get,
    который извлекает значение по ключу с возможностью указания значения по умолчанию
  • метод only,
    который возвращает только указанные ключи из массива
  • метод except,
    который исключает указанные ключи из массива
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить