Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как проверить, есть ли ключ в массиве

Короткий ответ

isset() возвращает true, если ключ есть и значение не null:

<?php
 
$user = ['name' => 'Anna'];
 
var_dump(isset($user['name']));
var_dump(isset($user['email']));

Результат:

bool(true)
bool(false)

Значение по умолчанию

Чаще нужно не проверить, а сразу получить значение. Оператор ?? делает это одной строкой:

<?php
 
$user = ['name' => 'Anna'];
 
echo $user['email'] ?? 'not set';

Результат:

not set

Ключ со значением null

isset() для него вернёт false. Точный ответ даёт array_key_exists():

<?php
 
$user = ['email' => null];
 
var_dump(isset($user['email']));
var_dump(array_key_exists('email', $user));

Результат:

bool(false)
bool(true)

Функции из этого ответа

  • array_key_exists — Проверяет, есть ли в массиве ключ.
  • isset — Проверяет, что переменная существует и не равна null.
  • in_array — Проверяет, есть ли значение в массиве.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.