Heim >Backend-Entwicklung >PHP-Problem >PHP findet heraus, ob ein bestimmter Wert in einem Array vorhanden ist

PHP findet heraus, ob ein bestimmter Wert in einem Array vorhanden ist

PHPz
PHPzOriginal
2023-05-05 20:47:061054Durchsuche

In PHP ist ein Array eine sehr verbreitete Datenstruktur, die mehrere verwandte Datenelemente speichern kann. In der tatsächlichen Entwicklung müssen wir häufig herausfinden, ob ein bestimmter Wert in einem Array vorhanden ist. In diesem Artikel werden verschiedene Methoden zum Auffinden von Array-Elementen in PHP vorgestellt und deren Vor- und Nachteile erläutert.

Methode 1: in_array-Funktion

in_array-Funktion kann verwendet werden, um zu bestimmen, ob ein Element in einem Array vorhanden ist. Die Syntax lautet wie folgt:

bool in_array ( Mixed $needle , Array $haystack [, bool $strict = FALSE ] )

Unter diesen stellt $needle das zu durchsuchende Element dar, $haystack stellt das zu durchsuchende Array dar und $strict gibt an, ob der Typvergleich aktiviert werden soll. Wenn $strict wahr ist, wird beurteilt, ob der Wert und der Typ des Elements völlig gleich sind.

Der Beispielcode lautet wie folgt:

<?php
$fruits = array('apple', 'banana', 'orange');
if (in_array('apple', $fruits)) {
    echo '存在';
} else {
    echo '不存在';
}
?>

In diesem Beispiel ist das Element „apple“ im Array $fruits vorhanden, sodass die Ausgabe „existiert“ ist.

Nachteile: Obwohl die Funktion in_array einfach und leicht zu verwenden ist, ist sie Gibt nur zurück, ob das Element existiert und kann nicht direkt sein. Rufen Sie den Schlüsselwert des Elements ab.

Methode 2: Funktion array_key_exists

Mit der Funktion array_key_exists kann überprüft werden, ob der angegebene Schlüsselname oder Index im Array vorhanden ist. Die Syntax lautet wie folgt:

bool array_key_exists ( gemischter $key , array $array )

Dabei repräsentiert $key den zu durchsuchenden Schlüsselnamen oder Index und $array das zu durchsuchende Array.

Der Beispielcode lautet wie folgt:

<?php
$fruits = array('a' => 'apple', 'b' => 'banana', 'o' => 'orange');
if (array_key_exists('a', $fruits)) {
    echo '存在';
} else {
    echo '不存在';
}
?>

In diesem Beispiel gibt es ein Element mit dem Schlüsselnamen „a“ im $fruits-Array, daher lautet die Ausgabe „exists“.

Nachteile: Die Funktion array_key_exists gibt nur zurück, ob Der Schlüsselname ist vorhanden und kann den Wert des Elements nicht abrufen.

Methode 3: Verwenden Sie in_array und array_search zusammen. Durch die Kombination der Funktionen in_array und array_search kann der Zweck erreicht werden, gleichzeitig Elementwerte und Schlüsselnamen zu finden. Die Funktion in_array wird zum Suchen von Elementwerten und die Funktion array_search zum Suchen von Schlüsselnamen verwendet.

Der Beispielcode lautet wie folgt:

<?php
$fruits = array('a' => 'apple', 'b' => 'banana', 'o' => 'orange');
if (($key = array_search('banana', $fruits)) !== false) {
    echo '存在,键名为' . $key;
} else {
    echo '不存在';
}
?>

In diesem Beispiel gibt es ein Element mit dem Wert „Banane“ im Array $fruits, sodass die Ausgabe „existiert, Schlüsselname b“ lautet.

Nachteile: Sie müssen zuerst die Funktion in_array und dann die Funktion array_search ausführen, falls vorhanden, was weniger effizient ist. Gleichzeitig ist es auch nicht möglich, Sonderfälle wie Schlüsselname 0 oder falsch zu beurteilen, die als nicht vorhanden angesehen werden.

Methode 4: foreach-Schleife

Verwenden Sie eine foreach-Schleife, um das Array zu durchlaufen und herauszufinden, ob das angegebene Element einzeln vorhanden ist. Wenn ein Element gefunden wird, können der Wert und der Schlüsselname des Elements direkt abgerufen werden.

Der Beispielcode lautet wie folgt:

<?php
$fruits = array('a' => 'apple', 'b' => 'banana', 'o' => 'orange');
foreach($fruits as $key => $value) {
    if ($value == 'banana') {
        echo '存在,键名为' . $key;
        break;
    }
}
?>

In diesem Beispiel gibt es ein Element mit dem Wert „Banane“ im Array $fruits, sodass die Ausgabe „existiert, Schlüsselname b“ lautet.

Vorteile: Sie können den Wert und den Schlüsselnamen des Elements gleichzeitig abrufen und so das Problem vermeiden, dass die Beurteilung aufgrund besonderer Umstände wie Schlüsselname 0 oder falsch fehlschlägt.

Zusammenfassend lässt sich sagen, dass wir je nach tatsächlichem Bedarf verschiedene Methoden auswählen können, um Elemente im Array zu finden. Wenn Sie lediglich feststellen müssen, ob ein Element vorhanden ist, können Sie die Funktion in_array verwenden. Wenn Sie den Schlüsselnamen eines Elements benötigen, können Sie die Funktion array_key_exists verwenden. Wenn Sie den Wert und den Schlüsselnamen eines Elements gleichzeitig abrufen müssen, können Sie in_array und array_search zusammen verwenden oder eine foreach-Schleife verwenden, um das Array zu durchlaufen.

Das obige ist der detaillierte Inhalt vonPHP findet heraus, ob ein bestimmter Wert in einem Array vorhanden ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn