array_key_exists

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

array_key_existsПроверяет, существует ли в массиве заданный ключ или индекс

Описание

array_key_exists(string|int|float|bool|resource|null $key, array $array): bool

Функция array_key_exists() возвращает true, если заданный ключ (key) содержится в массиве. В параметр key разрешено передавать значение, которое допустимо в качестве индекса массива.

Список параметров

key

Проверяемое значение.

array

Массив с проверяемыми ключами.

Возвращаемые значения

Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.

Замечание:

Функция array_key_exists() ищет ключи только на первом уровне массива. Внутренние ключи в многомерных массивах найдены не будут.

Список изменений

Версия Описание
8.0.0 Параметр key теперь принимает в качестве аргументов значения bool, float, int, null, resource и string.

Примеры

Пример #1 Пример использования функции array_key_exists()

<?php

$search_array
= array('first' => 1, 'second' => 4);
if (
array_key_exists('first', $search_array)) {
echo
"Массив содержит элемент «first».";
}

?>

Пример #2 Пример использования функции array_key_exists() с языковой конструкцией isset()

Конструкция языка isset() не возвращает true для ключей массива, которые ассоциированы со значением null, а функция array_key_exists() — возвращает.

<?php

$search_array
= array('first' => null, 'second' => 4);

// Возвращает false
isset($search_array['first']);

// Возвращает true
array_key_exists('first', $search_array);

?>

Примечания

Замечание:

По причинам обратной совместимости функция array_key_exists() возвращает true, если ключ (key) — это свойство объекта (object), переданного в качестве параметра array. Поведение устарело в PHP 7.4.0 и удалено в PHP 8.0.0.

Проверить, содержит ли объект заданное свойство, можно функцией property_exists().

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

  • isset() - Определяет, объявили ли переменную и отличается ли её значение от null
  • array_keys() - Возвращает все или некоторое подмножество ключей массива
  • in_array() - Проверяет, существует ли значение в массиве
  • property_exists() - Проверяет, есть ли у объекта или класса свойство

Добавить

Примечания пользователей 4 notes

up
12
Rumour
2 years ago
In PHP7+ to find if a value is set in a multidimensional array with a fixed number of dimensions, simply use the Null Coalescing Operator: ??So for a three dimensional array where you are not sure about any of the keys actually existing<?php// instead of:$exists = array_key_exists($key1, $arr) && array_key_exists($key2, $arr[$key1]) && array_key_exists($key3, $arr[$key1][$key2]) ;// use:$exists =  array_key_exists($key3, $arr[$key1][$key2]??[]) ;?>
up
11
Julian
2 years ago
When you want to check multiple array keys: <?php$array = [];$array['a'] = '';$array['b'] = '';$array['c'] = '';$array['d'] = '';$array['e'] = '';// all given keys a,b,c exists in the supplied arrayvar_dump(array_keys_exists(['a','b','c'], $array)); // bool(true)function array_keys_exists(array $keys, array $array): bool{    $diff = array_diff_key(array_flip($keys), $array);    return count($diff) === 0;}
up
0
developerxyz852 at gmail dot com
4 months ago
<?php// Define an associative array$userProfile = [    'name' => 'John Doe',    'email' => 'john.doe@example.com',    'age' => 30,    'country' => 'USA'];// Key to check$keyToCheck = 'email';// Use array_key_exists to check if the key exists in the arrayif (array_key_exists($keyToCheck, $userProfile)) {    echo "The key '$keyToCheck' exists in the array with value: " . $userProfile[$keyToCheck];} else {    echo "The key '$keyToCheck' does not exist in the array.";}?>
up
-2
developerxyz852 at gmail dot com
4 months ago
<?php// Define an associative array$userProfile = [    'name' => 'John Doe',    'email' => 'john.doe@example.com',    'age' => 30,    'country' => 'USA'];// Key to check$keyToCheck = 'email';// Use array_key_exists to check if the key exists in the arrayif (array_key_exists($keyToCheck, $userProfile)) {    echo "The key '$keyToCheck' exists in the array with value: " . $userProfile[$keyToCheck];} else {    echo "The key '$keyToCheck' does not exist in the array.";}?>
To Top