In der PHP-Programmierung ist Array ein sehr häufiger Datentyp, der zum Speichern einer Reihe zusammengehöriger Daten verwendet werden kann. Bei Arrays treten normalerweise einige Probleme auf, z. B. die Feststellung, ob ein bestimmter Schlüsselwert im Array vorhanden ist. Wie kann man also feststellen, ob ein Schlüsselwert in einem Array in PHP vorhanden ist?
Tatsächlich ist es sehr einfach, in PHP festzustellen, ob ein Array einen bestimmten Schlüsselwert enthält. Es gibt hauptsächlich die folgenden Methoden.
Methode 1: Verwenden Sie die Funktion isset
Mit der Funktion isset() in PHP können Sie feststellen, ob eine Variable existiert und der Wert der Variablen nicht NULL ist. Daher können wir diese Funktion verwenden, um festzustellen, ob ein Schlüsselwert im Array vorhanden ist. Zum Beispiel:
$arr = array('name' => '张三', 'age' => 22, 'gender' => '男'); if (isset($arr['name'])) { echo '存在 name 键'; } else { echo '不存在 name 键'; }
Im obigen Code definieren wir zuerst ein assoziatives Array $arr und verwenden dann die Funktion isset(), um zu bestimmen, ob der Schlüssel „name“ im Array vorhanden ist. Wenn er existiert, wird die Eingabeaufforderung „Namensschlüssel existiert“ ausgegeben, andernfalls wird „Namensschlüssel existiert nicht“ ausgegeben.
Es ist zu beachten, dass Sie bei Verwendung der Funktion isset() zur Bestimmung, ob ein bestimmter Schlüsselwert im Array vorhanden ist, beachten müssen, dass der übergebene Parameter der Schlüsselname und nicht der Schlüsselwert ist. Beispielsweise ist isset($arr['Zhang San']) falsch und sollte als isset($arr['name']) geschrieben werden.
Methode 2: Verwenden Sie die Funktion array_key_exists
Zusätzlich zur Funktion isset() stellt PHP auch die Funktion array_key_exists() zur Verfügung, mit der ermittelt werden kann, ob ein bestimmter Schlüssel im Array vorhanden ist. Im Gegensatz zur Funktion isset() muss der Schlüsselname in den Argumenten der Funktion array_key_exists() enthalten sein. Zum Beispiel:
$arr = array('name' => '张三', 'age' => 22, 'gender' => '男'); if (array_key_exists('name', $arr)) { echo '存在 name 键'; } else { echo '不存在 name 键'; }
Der obige Code ähnelt dem Code in Methode 1, außer dass die Methode zur Bestimmung des Schlüsselwerts unterschiedlich ist und die Funktion array_key_exists() verwendet. Wenn der Schlüssel „Name“ vorhanden ist, wird die Eingabeaufforderung „Namensschlüssel existiert“ ausgegeben, andernfalls wird „Namensschlüssel existiert nicht“ ausgegeben.
Es ist zu beachten, dass die Rückgabewerte der Funktion isset() und der Funktion array_key_exists() unterschiedlich sind. Die Funktion isset() gibt einen booleschen Wert (wahr oder falsch) zurück, während die Funktion array_key_exists() eine Variable vom booleschen Typ (0 oder 1) zurückgibt, sodass ihre Methode möglicherweise besser für die bedingte Beurteilung geeignet ist.
Methode 3: Verwenden Sie die Funktion in_array
Die Funktion in_array() in PHP wird hauptsächlich verwendet, um festzustellen, ob ein Wert im Array vorhanden ist. Wenn er vorhanden ist, gibt er true zurück, andernfalls gibt er false zurück. Können wir also die Funktion in_array() verwenden, um festzustellen, ob ein Schlüsselname im Array vorhanden ist? Die Antwort ist ja. Zum Beispiel:
$arr = array('name' => '张三', 'age' => 22, 'gender' => '男'); if (in_array('name', array_keys($arr))) { echo '存在 name 键'; } else { echo '不存在 name 键'; }
Im obigen Code verwenden wir zuerst die Funktion array_keys(), um alle Schlüsselnamen im Array abzurufen, und verwenden dann die Funktion in_array(), um zu bestimmen, ob „name“ im Array vorhanden ist. Wenn er existiert, wird die Eingabeaufforderung „Namensschlüssel existiert“ ausgegeben, andernfalls wird „Namensschlüssel existiert nicht“ ausgegeben.
Es ist zu beachten, dass Sie bei Verwendung der Funktion in_array() zur Bestimmung, ob ein bestimmter Schlüsselname im Array vorhanden ist, den Schlüsselnamen im Array als ersten Parameter der Funktion in_array() verwenden und alle hinzufügen müssen Die Schlüsselnamen im Array werden als zweiter Parameter übergeben.
Methode 4: Verwenden Sie die Funktion array_search
Schließlich können wir auch die Funktion array_search() verwenden, um festzustellen, ob ein Schlüsselname im Array vorhanden ist. Anders als die Funktion in_array() gibt die Funktion array_search() den Schlüsselwert des entsprechenden Schlüsselnamens zurück und gibt false zurück, wenn der entsprechende Schlüsselname nicht gefunden wird. Zum Beispiel:
$arr = array('name' => '张三', 'age' => 22, 'gender' => '男'); if (array_search('name', array_keys($arr)) !== false) { echo '存在 name 键'; } else { echo '不存在 name 键'; }
Im obigen Code verwenden wir die Funktion array_search(), um zu bestimmen, ob der Schlüssel „Name“ im Array vorhanden ist. Wenn er existiert, wird die Eingabeaufforderung „Namensschlüssel existiert“ ausgegeben, andernfalls wird „Namensschlüssel existiert nicht“ ausgegeben.
Es ist auch zu beachten, dass Sie bei Verwendung der Funktion array_search() zur Bestimmung, ob ein Schlüssel vorhanden ist, den Ungleichheitsoperator (!==) verwenden müssen, um den Rückgabewert der Funktion mit false zu vergleichen, denn wenn der Schlüssel If Der Schlüsselwert ist 0 oder eine leere Zeichenfolge. Die direkte Verwendung des Gleichheitsoperators (==) führt zu einer Fehleinschätzung.
Zusammenfassend gibt es vier Hauptmethoden, um festzustellen, ob ein Schlüsselwert in einem Array in PHP vorhanden ist: Verwendung der Funktion isset(), Verwendung der Funktion array_key_exists(), Verwendung der Funktion in_array() und Verwendung der Funktion array_search( ) Funktion. Entwickler können je nach Bedarf eine Methode wählen, die zu ihnen passt.
Das obige ist der detaillierte Inhalt vonSo überprüfen Sie, ob das Array in PHP einen bestimmten Schlüssel enthält. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!