Dieser Artikel fasst die relevanten Kenntnisse der PHP-Array-Funktion array_key_exists() und des Leistungsvergleichs mit in_array zusammen und stellt Ihnen vor Analyse des Unterschieds mit isset Für Einzelheiten können Freunde in Not darauf verweisen.
array_key_exists()-Funktion bestimmt, ob der angegebene Schlüssel in einem Array vorhanden ist. Wenn der Schlüssel vorhanden ist, gibt er true zurück, andernfalls gibt er false zurück
array_key_exists(key,array);
Schlüssel: erforderlich. Geben Sie den Schlüsselnamen an
Array: erforderlich. Gibt das Eingabearray an
<?php $a = array('a'=>'Dog','b'=>'Cat'); if(array_key_exists('a',$a)){ echo 'Key exists!'; } else{ echo 'Key does not exist!'; } ?>
Ausgabe: Schlüssel existiert!
Warum ist array_key_exists schneller als in_array?
Array_key_exists und in_array fragen verschiedene Dinge ab, oder?
array_key_exists bestimmt, ob es einen Schlüsselwert gibt
array_key_exists(a,arr)->if(isset(arr[a]) ) Es ist wahr
und in_array muss den Wert durchlaufen, bevor es aus der Schleife springt
Frage:
Verfügt der Index des Arrays über eine separate Speichereinheit und ist optimiert? Die zeitliche Komplexität von array_key_exists ist o(1) und in_array ist o(n) ??
Folgeantwort:
In Bezug auf die Komplexität ist es das
array_key_exists dient dazu, festzustellen, ob ein bestimmter Schlüssel vorhanden ist. Es gibt keinen Wert
in_array. Wenn Sie einmal durchlaufen möchten, um festzustellen, ob sie gleich sind, müssen Sie
Die Differenz zwischen ihnen durchlaufen isset und array_key_exists in PHP
1 Die Beurteilung von Array-Werten ist unterschiedlich. Für Werte, die null oder '' oder falsch sind, gibt isset false und array_key_exists true zurück
2. Die Ausführungseffizienz ist anders.array_key_exists ist eine integrierte Funktion von PHP. Bitte beachten Sie: PHP-Funktionsimplementierungsprinzip und Leistungsanalyse 3. Wenn Sie isset verwenden, um auf einen nicht vorhandenen Index-Array-Wert zuzugreifen, wird keine E_NOTICE-PHP-Fehlermeldung angezeigt
4. array_key_exists ruft get_defined_vars auf, um festzustellen, ob die Array-Variable vorhanden ist. Isset wird nicht verwendet.
Testcode:
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung der Array-Funktion php array_key_exists(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!