Heim  >  Artikel  >  Backend-Entwicklung  >  So ermitteln Sie, ob eine Zeichenfolge in einem Array in PHP enthalten ist

So ermitteln Sie, ob eine Zeichenfolge in einem Array in PHP enthalten ist

PHPz
PHPzOriginal
2023-04-23 09:12:38633Durchsuche

In PHP müssen wir oft feststellen, ob eine Zeichenfolge in einem Array enthalten ist. Dieses Problem mag für Anfänger schwierig sein, aber die Lösung für dieses Problem ist eigentlich sehr einfach. In diesem Artikel stellen wir verschiedene Methoden in PHP vor, um festzustellen, ob ein String in einem Array enthalten ist.

  1. in_array-Funktion

in_array-Funktion ist eine Funktion in PHP, die verwendet wird, um zu bestimmen, ob ein Wert in einem Array vorhanden ist. Die Syntax dieser Funktion lautet:

in_array($needle, $haystack, $strict)

Unter diesen stellt $needle den zu durchsuchenden Wert dar, $haystack stellt das zu durchsuchende Array dar und $strict stellt dar, ob verwendet werden soll Strikter Suchmodus. Wenn $strict wahr ist, vergleicht die Funktion in_array auch die Datentypen der Variablen auf Gleichheit. Der Rückgabewert „true“ gibt an, dass der Wert gefunden wurde, während „false“ angibt, dass er nicht gefunden wurde.

Hier ist ein einfaches Beispiel:

$arr = array('apple', 'banana', 'orange');
if (in_array('banana', $arr)) {
    echo 'find it!';
} else {
    echo 'not found';
}

Das laufende Ergebnis ist: Finde es!

  1. array_search-Funktion

array_search-Funktion ist auch eine Funktion, die verwendet wird, um einen bestimmten Wert in einem Array zu finden. Die Syntax dieser Funktion lautet:

array_search($needle, $haystack, $strict)

Unter diesen stellt $needle den zu durchsuchenden Wert dar, $haystack stellt das zu durchsuchende Array dar und $strict stellt dar, ob verwendet werden soll Strikter Suchmodus. Gibt die Position des Werts im Array zurück oder false, wenn er nicht gefunden wird.

Das Folgende ist ein einfaches Beispiel:

$arr = array('apple', 'banana', 'orange');
$index = array_search('banana', $arr);
if ($index !== false) {
    echo 'find it at index ' . $index;
} else {
    echo 'not found';
}

Das laufende Ergebnis lautet: Finden Sie es bei Index 1

Es ist zu beachten, dass die Funktion array_search die Position des Werts im Array zurückgibt und nicht, ob der Wert vorhanden ist. Daher müssen Sie $index !== false verwenden, um festzustellen, ob der Wert vorhanden ist.

  1. Verwenden Sie reguläre Ausdrücke

Reguläre Ausdrücke sind ein leistungsstarkes Tool zum Abgleichen von Zeichenfolgen und werden häufig zum Verarbeiten von Zeichenfolgen in PHP verwendet. Wenn wir feststellen möchten, ob ein String in einem Array enthalten ist, können wir dies auch mit regulären Ausdrücken erreichen.

Konkret können wir alle Elemente im Array durch vertikale Balken (|) trennen, einen regulären Ausdruck generieren und dann die Funktion preg_match verwenden, um die Zeichenfolge abzugleichen.

Das Folgende ist ein einfaches Beispiel:

$arr = array('apple', 'banana', 'orange');
$regex = '/^(?:' . implode('|', $arr) . ')$/';
if (preg_match($regex, 'banana')) {
    echo 'find it!';
} else {
    echo 'not found';
}

Im obigen Code wird die Implode-Funktion verwendet, um alle Elemente im Array durch vertikale Balken zu trennen und einen regulären Ausdruck zu generieren. Anschließend verwenden wir die Funktion „preg_match“, um die Zeichenfolge abzugleichen und „true“ zurückzugeben, wenn sie gefunden wird, andernfalls „false“.

Es ist zu beachten, dass der von uns generierte reguläre Ausdruck die Trennzeichen (^ und $) am Anfang und Ende verwendet, was bedeutet, dass der reguläre Ausdruck nur mit der gesamten Zeichenfolge und nicht mit einem Teil der Zeichenfolge übereinstimmen kann. Auf diese Weise wird bei der Feststellung, ob eine Zeichenfolge in einem Array enthalten ist, verhindert, dass „Traube“ fälschlicherweise als „Himbeere“ eingeschätzt wird.

Fazit

Mit den oben genannten drei Methoden können wir leicht feststellen, ob eine Zeichenfolge in einem Array enthalten ist. Die direkte Verwendung der Funktionen in_array und array_search ist die einfachste Methode, während die Verwendung regulärer Ausdrücke komplexere Anforderungen erfüllen kann. Gleichzeitig müssen wir auch auf die Vor- und Nachteile verschiedener Methoden achten und die für uns geeignete Methode zur Lösung des Problems auswählen.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob eine Zeichenfolge in einem Array in PHP enthalten 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