array_key_exists

(PHP 4 >= 4.0.7, PHP 5)

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

Описание

bool array_key_exists ( mixed $key , array $search )

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

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

key

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

search

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

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

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

Примеры

Пример #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);
?>

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: key_exists()

Замечание:

По причинам обратной совместимости array_key_exists() возвращает TRUE, если key является свойством объекта, переданным в качестве параметра search. На это поведение не стоит полагаться, и перед использованием данной функции необходимо проверять, что параметр search имеет тип array.

Чтобы проверить, содержит ли объект какое-либо свойство, используйте функцию property_exists().

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

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

Коментарии

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.
2011-05-18 12:29:54
http://php5.kiev.ua/manual/ru/function.array-key-exists.html
Автор:
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 array
var_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;
}
2023-03-01 17:18:56
http://php5.kiev.ua/manual/ru/function.array-key-exists.html
Автор:
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]??[]) ;

?>
2023-07-18 17:55:35
http://php5.kiev.ua/manual/ru/function.array-key-exists.html

    Поддержать сайт на родительском проекте КГБ