In PHP besteht häufig die Notwendigkeit, festzustellen, ob ein String alle in einem Array gespeicherten Elemente umfasst. Dieses Szenario tritt auf, wenn vom Benutzer übermittelte Daten anhand einer festgelegten Werteliste überprüft werden.
Die Verwendung von in_array() zur Durchführung dieser Prüfung kann zu unerwarteten Ergebnissen führen, da dabei strikte Gleichheit ausgewertet wird. Ein alternativer Ansatz besteht darin, die Array-Elemente zu durchlaufen und sie mithilfe von strstr(), stristr() oder strpos() mit der Zeichenfolge zu vergleichen.
Betrachten Sie das folgende Array eigener URLs :
$owned_urls = array('website1.com', 'website2.com', 'website3.com');
Um zu überprüfen, ob eine vom Benutzer eingegebene Zeichenfolge eine dieser URLs enthält, implementieren Sie den folgenden Code:
<code class="php">$string = 'my domain name is website3.com'; foreach ($owned_urls as $url) { if (strpos($string, $url) !== FALSE) { echo "Match found"; return true; } } echo "Not found!"; return false;</code>
Stristr()ortripos()` sollte für die Groß-/Kleinschreibung verwendet werden -unempfindliche Vergleiche.
Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob ein String ein Element aus einem Array in PHP enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!