array_key_exists

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

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

Описание

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

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

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

key

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

array

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

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

Возвращает true в случае успешного выполнения или false в случае возникновения ошибки.

Замечание:

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

Примеры

Пример #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() - Проверяет, содержит ли объект или класс указанный атрибут

add a note

User Contributed Notes 1 note

up
10
manhon824 at gmail dot com
11 years ago
I took hours for me to debug, and I finally recognized that,

You have to reset the $array before using array_key_exists
reset($array);
array_key_exists($needle,$array);

Or you will get no reply.
To Top