Heim >Backend-Entwicklung >PHP-Problem >So ermitteln Sie, ob sich ein Wert in einem Array in PHP befindet (eine kurze Analyse verschiedener Methoden)
PHP ist eine beliebte Programmiersprache und ihr Array ist eine sehr wichtige Datenstruktur. Wenn wir feststellen müssen, ob sich ein Wert in einem Array befindet, können wir die Funktion in_array() in PHP verwenden. In diesem Artikel wird detailliert beschrieben, wie Sie mit der Funktion in_array() und mehreren anderen Methoden ermitteln, ob sich ein Wert in einem Array befindet.
1. Verwenden Sie die Funktion in_array(), um zu bestimmen, ob sich ein Wert in einem Array befindet.
In PHP ist die Funktion in_array() die einfachste und am häufigsten verwendete Methode, um zu bestimmen, ob sich ein Wert in einem Array befindet. Die Syntax lautet wie folgt:
in_array($value, $array, $strict);
Unter diesen ist $value der zu findende Wert, $array das zu findende Array und $strict ein optionaler Parameter , um anzugeben, ob eine Typprüfung durchgeführt werden soll.
Zum Beispiel haben wir ein Array $fruits, das einige Früchte enthält:
$fruits = [ 'apple', 'banana', 'pear', 'orange', 'kiwi' ];
Jetzt wollen wir feststellen, ob „pear“ im Array $fruits ist, Sie können den folgenden Code verwenden:
if (in_array('pear', $fruits)) { echo 'pear is in the array.'; } else { echo 'pear is not in the array.'; }
Das Ausgabeergebnis ist :
pear is in the array.
Wenn Sie eine Typprüfung durchführen möchten, können Sie den Parameter $strict auf true setzen. Zum Beispiel:
$numbers = [1, 2, 3, 4, 5]; if (in_array('1', $numbers, true)) { echo '1 is in the array.'; } else { echo '1 is not in the array.'; }
Das Ausgabeergebnis lautet:
1 is not in the array.
2. Verwenden Sie die Funktion array_search(), um festzustellen, ob sich der Wert im Array befindet.
Eine andere Möglichkeit, festzustellen, ob sich der Wert im Array befindet, besteht darin, die Funktion array_search( ) Funktion. Die Syntax lautet wie folgt:
array_search($value, $array, $strict);
Unter diesen ist $value der zu durchsuchende Wert, $array das zu durchsuchende Array und $strict ein optionaler Parameter , um anzugeben, ob eine Typprüfung durchgeführt werden soll. Wenn sie gefunden wird, gibt die Funktion den Schlüsselnamen des Werts im Array zurück. Wenn sie nicht gefunden wird, gibt sie „false“ zurück.
Zum Beispiel haben wir ein assoziatives Array $prices, das die Preise einiger Früchte enthält:
$prices = [ 'apple' => 0.5, 'banana' => 0.3, 'pear' => 0.6, 'orange' => 0.8, 'kiwi' => 0.7 ];
Möchten wir nun feststellen, ob der Preis für „Banane“ im Array $prices vorhanden ist, können Sie den folgenden Code verwenden:
$key = array_search(0.3, $prices); if ($key !== false) { echo 'banana exists and the price is ' . $prices['banana']; } else { echo 'banana does not exist.'; }
Ausgabe Das Ergebnis ist:
banana exists and the price is 0.3
Wenn Sie eine Typprüfung durchführen möchten, können Sie den Parameter $strict auf true setzen. Beispiel:
$key = array_search('0.3', $prices, true); if ($key !== false) { echo 'banana exists but its price is in a different data type.'; } else { echo 'banana does not exist.'; }
Das Ausgabeergebnis ist:
banana does not exist.
3. Verwenden Sie die Funktion isset(), um zu bestimmen, ob sich der Wert im Array befindet. Eine weitere einfache Methode besteht darin, die Funktion isset() zu verwenden, um festzustellen, ob ein Schlüssel vorhanden ist im Array. Zum Beispiel:
if (isset($prices['banana'])) { echo 'banana exists and the price is ' . $prices['banana']; } else { echo 'banana does not exist.'; }
Das Ausgabeergebnis ist das gleiche wie im vorherigen Beispiel, nämlich:
banana exists and the price is 0.3
Diese Methode kann jedoch nicht feststellen, ob unter den Werten im Array ein Wert vorhanden ist, sondern nur, ob ein Schlüssel vorhanden ist im Array. Daher funktioniert es nur mit normalen Arrays, nicht mit assoziativen Arrays oder mehrdimensionalen Arrays.
4. Verwenden Sie die Erweiterungsmethoden von in_array() und array_search()
Zusätzlich zur direkten Verwendung der Funktionen in_array() und array_search() gibt es einige Erweiterungsmethoden, mit denen wir besser bestimmen können, ob sich der Wert im befindet Array. Beispiel:
1. Verwenden Sie die Funktion array_keys() in der Funktion in_array():
if (in_array($value, array_keys($array))) { echo $value . ' exists in the array.'; } else { echo $value . ' does not exist in the array.'; }
Das Prinzip dieser Methode besteht darin, zuerst die Funktion array_keys() zu verwenden, um alle Schlüssel im Array abzurufen, und dann die Funktion zu verwenden in_array() Funktion, um zu bestimmen, ob der Wert in der Liste der Schlüssel enthalten ist. Diese Methode ist jedoch ineffizient und nimmt bei großen Arrays viel Speicher und Zeit in Anspruch.
2. Verwenden Sie die Funktionen array_flip() und isset():
if (isset(array_flip($array)[$value])) { echo $value . ' exists in the array.'; } else { echo $value . ' does not exist in the array.'; }
Das Prinzip dieser Methode besteht darin, zuerst die Funktion array_flip() zu verwenden, um die Schlüssel und Werte im Array umzukehren, und dann isset zu verwenden ()-Funktion, um festzustellen, ob der Wert im neuen Array vorhanden ist. Diese Methode ist effizienter, gilt jedoch nur für gewöhnliche Arrays, nicht für assoziative Arrays oder mehrdimensionale Arrays.
5. Zusammenfassung
In PHP gibt es viele Möglichkeiten, um festzustellen, ob sich ein Wert in einem Array befindet. Die gebräuchlichsten Methoden sind die Verwendung der Funktionen in_array() und array_search(). Wenn Sie eine Typprüfung durchführen möchten, müssen Sie den Parameter $strict auf true setzen. Darüber hinaus gibt es einige erweiterte Methoden, mit denen wir besser feststellen können, ob sich der Wert im Array befindet. Unterschiedliche Situationen erfordern unterschiedliche Methoden.
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob sich ein Wert in einem Array in PHP befindet (eine kurze Analyse verschiedener Methoden). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!