array_key_exists

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

array_key_existsPrüft, ob ein gegebener Schlüssel in einem Array existiert

Beschreibung

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

array_key_exists() gibt true zurück, wenn key im Array vorhanden ist. key kann jeder für einen Array-Index mögliche Wert sein.

Parameter-Liste

key

Der zu prüfende Wert.

array

Ein Array mit den zu prüfenden Schlüsseln.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Hinweis:

array_key_exists() sucht nur in der ersten Dimension nach Schlüsseln. Verschachtelte Schlüssel in mehrdimensionalen Arrays werden nicht gesucht.

Changelog

Version Beschreibung
8.0.0 Der Parameter key akzeptiert nun Werte vom Typ bool, float, int, null, resource und string als Argumente.
8.0.0 Die Übergabe eines objects an den Parameter array wird nicht mehr unterstützt.
7.4.0 Die Übergabe eines objects an den Parameter array ist veraltet. Stattdessen sollte property_exists() verwendet werden.

Beispiele

Beispiel #1 array_key_exists()-Beispiel

<?php
$searchArray
= ['erstes' => 1, 'zweites' => 4];
var_dump(array_key_exists('erstes', $searchArray));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Beispiel #2 array_key_exists() vs. isset()

isset() gibt für Schlüssel eines Arrays, die zu einem null-Wert gehören, nicht true zurück, während array_key_exists() dies tut.

<?php
$searchArray
= ['erstes' => null, 'zweites' => 4];

var_dump(isset($searchArray['erstes']));
var_dump(array_key_exists('erstes', $searchArray));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Siehe auch

  • isset() - Prüft, ob eine Variable deklariert ist und sich von null unterscheidet
  • array_keys() - Liefert alle Schlüssel oder eine Teilmenge aller Schlüssel eines Arrays
  • in_array() - Prüft, ob ein Wert in einem Array existiert
  • property_exists() - Prüft, ein Objekt oder eine Klasse auf die angegebene Eigenschaft

add a note

User Contributed Notes 4 notes

up
12
Rumour
1 year 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 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;
}
up
0
developerxyz852 at gmail dot com
22 days 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 array
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.";
}

?>
up
-2
developerxyz852 at gmail dot com
22 days 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 array
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.";
}

?>
To Top