Heim >Backend-Entwicklung >PHP-Problem >PHP fragt ab, ob sich bestimmte Daten im Array befinden

PHP fragt ab, ob sich bestimmte Daten im Array befinden

WBOY
WBOYOriginal
2023-05-19 15:21:39533Durchsuche

In der PHP-Entwicklung müssen wir oft bestimmte Vorgänge an einem Array ausführen, und eine der häufigsten Anforderungen besteht darin, abzufragen, ob sich bestimmte Daten im Array befinden. Es gibt viele Möglichkeiten, diese Anforderung zu erfüllen. Im Folgenden stellen wir einige gängige Methoden im Detail vor.

  1. in_array()-Funktion

PHP stellt eine in_array()-Funktion bereit, deren Funktion darin besteht, zu bestimmen, ob ein Wert im Array vorhanden ist. Die Verwendung dieser Funktion ist:

bool in_array(mixed $needle, array $haystack [, bool $strict = false ])

wobei $needle den zu findenden Wert darstellt, $haystack das zu findende Array darstellt, $ strict gibt an, ob die Typprüfung aktiviert werden soll.

Zum Beispiel:

$example = array('a', 'b', 'c');
if (in_array('a', $example)) {
    echo "存在";
} else {
    echo "不存在";
}

Im obigen Beispiel gibt die Funktion „true“ zurück, da der Wert „a“ im Array $example vorhanden ist. Wenn wir den gesuchten Wert in „d“ ändern, gibt die Funktion „false“ zurück.

  1. array_search()-Funktion

Zusätzlich zur in_array()-Funktion bietet PHP auch eine array_search()-Funktion. Die Funktion dieser Funktion besteht darin, einen Wert im Array zu finden und seinen Schlüsselnamen zurückzugeben. Wenn der Wert nicht im Array vorhanden ist, wird „false“ zurückgegeben.

Die Art und Weise, diese Funktion zu verwenden, ist:

mixed array_search(mixed $needle, array $haystack [, bool $strict = false])

Zum Beispiel:

$example = array('a' => 1, 'b' => 2, 'c' => 3);
$key = array_search(2, $example);
if ($key !== false) {
    echo '存在,对应的键名为:' . $key;
} else {
    echo '不存在';
}

Im obigen Beispiel gibt die Funktion „exist“ zurück , entsprechend Der Schlüsselname lautet: b“, da der Wert 2 im Array vorhanden ist und der entsprechende Schlüsselname b ist. Wenn der gesuchte Wert 4 ist, gibt die Funktion false zurück.

Es ist zu beachten, dass Sie bei Verwendung der Funktion array_search() vorsichtig sein müssen, wenn der Schlüsselname 0 ist. Denn wenn der zu findende Wert 0 ist, behandelt die Funktion den Wert mit dem Schlüsselnamen 0 so, als ob er nicht existierte. Wenn Sie dieses Problem lösen möchten, können Sie die Typprüfung im dritten Parameter aktivieren.

  1. Verwenden Sie die Funktion in_array() in Kombination mit dem Array-Schlüsselnamen.

Manchmal, wenn wir einen Wert im Array finden müssen, müssen wir auch den Schlüsselnamen kennen, der dem Wert entspricht. Zu diesem Zeitpunkt können Sie die Funktion in_array() in Kombination mit dem Namen des Array-Schlüssels zum Suchen verwenden.

Die spezifische Implementierungsmethode besteht darin, den Schlüsselnamen zum Array hinzuzufügen und dann die Funktion in_array() zum Suchen zu verwenden:

$example = array('a' => 1, 'b' => 2, 'c' => 3);
if (in_array(2, $example, true)) {
    $key = array_search(2, $example, true);
    echo '存在,对应的键名为:' . $key;
} else {
    echo '不存在';
}

Im obigen Beispiel haben wir das ursprüngliche Indexarray in ein assoziatives Array konvertiert, damit wir dies können Finden Sie den entsprechenden Wert für den Array-Schlüsselnamen.

Zusammenfassung

Die oben genannten drei Methoden können alle verwendet werden, um abzufragen, ob sich bestimmte Daten in einem Array in PHP befinden. Die spezifische Verwendung hängt von den tatsächlichen Anforderungen ab. Es ist zu beachten, dass in der tatsächlichen Entwicklung unterschiedliche Array-Strukturen auf unterschiedliche Weise verarbeitet werden können. Wenn Sie häufig Abfragevorgänge ausführen müssen, können Sie das Array außerdem in ein assoziatives Array konvertieren, was Suchvorgänge komfortabler macht.

Das obige ist der detaillierte Inhalt vonPHP fragt ab, ob sich bestimmte Daten im Array befinden. 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