PHP 8.5.0 RC 1 available for testing

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 object s an den Parameter array wird nicht mehr unterstützt.
7.4.0 Die Übergabe eines object s 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

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 3 notes

up
11
Rumour
2 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

// 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
12
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
-1
developerxyz852 at gmail dot com
6 months 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.";
}

?>
+add a note

AltStyle によって変換されたページ (->オリジナル) /