(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)
array_key_exists — Checks if the given key or index exists in the array
Parameterskey
Value to check.
array
An array with keys to check.
Returns true
on success or false
on failure.
ExamplesNote:
array_key_exists() will search for the keys in the first dimension only. Nested keys in multidimensional arrays will not be found.
Example #1 array_key_exists() example
<?php
$searchArray = ['first' => 1, 'second' => 4];
var_dump(array_key_exists('first', $searchArray));
?>
The above example will output:
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
$searchArray = ['first' => null, 'second' => 4];var_dump(isset($searchArray['first']));
var_dump(array_key_exists('first', $searchArray));
?>
The above example will output:
See Also2 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$exists = array_key_exists($key1, $arr) && array_key_exists($key2, $arr[$key1]) && array_key_exists($key3, $arr[$key1][$key2]) ;$exists = array_key_exists($key3, $arr[$key1][$key2]??[]) ;?>
Julian ¶
2 years ago
When you want to check multiple array keys:
<?php
$array
= [];
$array['a'] = '';
$array['b'] = '';
$array['c'] = '';
$array['d'] = '';
$array['e'] = '';var_dump(array_keys_exists(['a','b','c'], $array)); function array_keys_exists(array $keys, array $array): bool
{
$diff = array_diff_key(array_flip($keys), $array);
return count($diff) === 0;
}
developerxyz852 at gmail dot com ¶
4 months ago
<?php$userProfile = [
'name' => 'John Doe',
'email' => 'john.doe@example.com',
'age' => 30,
'country' => 'USA'
];$keyToCheck = 'email';if (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.";
}?>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4