array_key_exists

(PHP 4 >= 4.0.7, PHP 5)

array_key_existsChecks if the given key or index exists in the array

Description

bool array_key_exists ( mixed $key , array $array )

array_key_exists() returns TRUE if the given key is set in the array. key can be any value possible for an array index.

Parameters

key

Value to check.

array

An array with keys to check.

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example #1 array_key_exists() example

<?php
$search_array 
= array('first' => 1'second' => 4);
if (
array_key_exists('first'$search_array)) {
    echo 
"The 'first' element is in the array";
}
?>

Example #2 array_key_exists() vs isset()

isset() does not return TRUE for array keys that correspond to a NULL value, while array_key_exists() does.

<?php
$search_array 
= array('first' => null'second' => 4);

// returns false
isset($search_array['first']);

// returns true
array_key_exists('first'$search_array);
?>

Notes

Note:

For backward compatibility, the following deprecated alias may be used: key_exists()

Note:

For backward compatibility reasons, array_key_exists() will also return TRUE if key is a property defined within an object given as array. This behaviour should not be relied upon, and care should be taken to ensure that array is an array.

To check whether a property exists in an object, use property_exists().

See Also

  • isset() - Determine if a variable is set and is not NULL
  • array_keys() - Return all the keys or a subset of the keys of an array
  • in_array() - Checks if a value exists in an array
  • property_exists() - Checks if the object or class has a property

Коментарии

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

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