Heim >Backend-Entwicklung >PHP-Problem >PHP ermittelt, ob ein String in einem Array vorhanden ist

PHP ermittelt, ob ein String in einem Array vorhanden ist

WBOY
WBOYOriginal
2023-05-22 18:20:37820Durchsuche

In der PHP-Entwicklung ist es oft notwendig herauszufinden, ob ein bestimmter String aus einem String-Array existiert. Diese Art von Operation ist sehr verbreitet. Schließlich ist es in vielen Szenarien erforderlich, nach einem bestimmten Schlüsselwort zu filtern oder zu filtern. Wie kann man also feststellen, ob eine Zeichenfolge in einem Array vorhanden ist? In diesem Artikel werden Ihnen einige praktische Methoden vorgestellt.

Methode 1: Verwenden Sie die Funktion in_array.

PHP hat eine sehr praktische Funktion in_array integriert, mit der ermittelt werden kann, ob sich ein Element in einem Array befindet. Mit dieser Funktion können Sie ganz einfach feststellen, ob eine Zeichenfolge in einem Array vorhanden ist. Das Folgende ist die grundlegende Syntax für die Verwendung der Funktion in_array:

in_array($needle, $haystack); 

Darunter ist $needle die zu durchsuchende Zeichenfolge und $haystack das zu durchsuchende Array. Gibt true zurück, wenn $needle im $haystack-Array vorhanden ist, andernfalls false.

Das Folgende ist beispielsweise ein Array, das aus drei Zeichenfolgen besteht. Wir möchten feststellen, ob die Zeichenfolge „blau“ im Array vorhanden ist:

$colors = array("red", "green", "blue");
if(in_array("blue", $colors)){
    echo "字符串'blue'存在于数组中";
} else {
    echo "字符串'blue'不存在于数组中";
}

Ergebnisse ausgeben für: The string 'blue' existiert im Array

Darüber hinaus unterstützt in_array auch den dritten Parameter $strict, der verwendet wird, um anzugeben, ob eine strikte Übereinstimmung erfolgen soll. Standardmäßig ist dieser Parameter falsch, was bedeutet, dass die Übereinstimmung als erfolgreich gilt, solange $needle in $haystack erscheint. Wenn der dritte Parameter jedoch auf true gesetzt ist, ist es nicht nur erforderlich, dass $needle in $haystack erscheint, sondern auch, dass die Elemente in $needle und $haystack vom gleichen Typ sind. Zum Beispiel:

$a = array(1, 2, '3');
if (in_array('3', $a, true)) {
    echo '"3" is in $a with strict check';
} else {
    echo '"3" is not in $a with strict check';
}

Das Ausgabeergebnis lautet: „3“ ist nicht in $a mit strenger Prüfung

Methode 2: Verwenden Sie die array_search-Funktion

#🎜🎜 #array_search-Funktion Wird verwendet, um nach einem Wert in einem Array zu suchen und den Schlüsselnamen dieses Werts zurückzugeben. Im Gegensatz zur Funktion in_array gibt diese Funktion den übereinstimmenden Schlüsselnamen anstelle des wahren oder falschen Werts zurück. Wenn das Element nicht gefunden wird, wird „false“ zurückgegeben. Das Folgende ist die grundlegende Syntax für die Verwendung der Funktion array_search:

array_search($needle, $haystack); 

wobei $needle die zu durchsuchende Zeichenfolge und $haystack das zu durchsuchende Array ist. Wenn $needle im $haystack-Array vorhanden ist, geben Sie den Schlüsselnamen zurück, der dem Element entspricht, andernfalls geben Sie false zurück.

Das Folgende ist beispielsweise ein Array, das aus drei Zeichenfolgen besteht. Wir möchten feststellen, ob die Zeichenfolge „blau“ im Array vorhanden ist:

$colors = array("red", "green", "blue");
$key = array_search("blue", $colors);
if ( $key !== false ) {
    echo "字符串'blue'存在于数组中,对应键名为".$key;
} else {
    echo "字符串'blue'不存在于数组中";
}

Ausgabeergebnisse sind: the Die Zeichenfolge „blau“ ist im Array vorhanden und der entsprechende Schlüsselname ist 2

Methode 3: Verwenden Sie in_array und array_map kombiniert

Wenn Sie feststellen möchten, ob eine Zeichenfolge in vorhanden ist In mehreren Arrays können Sie anstelle der Suche in nur einem Array die Kombination der Funktionen in_array und array_map verwenden. Das Folgende ist die grundlegende Syntax für die Verwendung dieser Methode:

function check_string_one_of_many_arrays($string, $arrays) {
    return count(array_filter($arrays, function($array) use ($string) {
        return in_array($string, $array);
    })) > 0;
}

Darunter ist $string die Zeichenfolge, die gefunden werden muss, und $arrays ist die Array-Sammlung, die gefunden werden muss. Diese Funktion gibt einen booleschen Wert zurück, der angibt, ob die Zeichenfolge in mehreren Arrays vorhanden ist.

Zum Beispiel gibt es jetzt zwei Arrays $colors1 und $colors2, und Sie müssen feststellen, ob die Zeichenfolge „blau“ in ihnen vorhanden ist:

$colors1 = array("red", "green", "blue");
$colors2 = array("yellow", "black", "white");
if(check_string_one_of_many_arrays("blue", array($colors1, $colors2))){
    echo "字符串'blue'存在于数组中";
} else {
    echo "字符串'blue'不存在于数组中";
}

Das Ausgabeergebnis ist : Die Zeichenfolge „blau“ ist im Array vorhanden. Abhängig von den Anforderungen verschiedener Szenarien können Sie verschiedene Methoden verwenden. Unabhängig davon, welche Methode verwendet wird, ist die Beurteilung, ob ein String in einem Array vorhanden ist, sehr einfach und leicht zu verstehen und verdient eine weit verbreitete Anwendung in unserer täglichen PHP-Programmierung.

Das obige ist der detaillierte Inhalt vonPHP ermittelt, ob ein String 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