Bei der PHP-Programmierung ist es oft notwendig zu bestimmen, ob ein String Elemente in einem Array enthält. Diese Art von Operation kommt in der tatsächlichen Entwicklung sehr häufig vor und wird normalerweise durch Zeichenfolgenfunktionen und Array-Funktionen implementiert.
Die String-Funktion strpos in PHP kann verwendet werden, um festzustellen, ob ein String einen anderen String enthält. Gibt den Index der enthaltenden Position zurück, falls enthalten, andernfalls false.
Beispielcode:
$str = 'hello world'; $needle = 'world'; if (strpos($str, $needle) !== false) { echo '包含'; } else { echo '不包含'; }
Das Ausgabeergebnis des obigen Codes ist „includes“.
Mit dieser Methode können wir eine foreach-Schleife verwenden, um jedes Element im Array zu durchlaufen und dann das Element in der Zeichenfolge zu finden. Bei dieser Methode gibt es jedoch ein Problem: Wenn das Array dieselben Elemente enthält, kann nicht festgestellt werden, wo das Element in der Zeichenfolge erscheint.
Eine andere Möglichkeit ist die Verwendung der regulären Ausdrucksfunktion preg_match. Diese Funktion wird verwendet, um Inhalte in einer Zeichenfolge zu finden, die einem angegebenen Muster entsprechen. Sie können reguläre Ausdrücke verwenden, um Array-Elemente zu einem passenden Muster zu verketten und dann in einer Zeichenfolge nach diesem Muster zu suchen.
Beispielcode:
$str = 'hello world'; $needle = array('world', 'foo'); $pattern = '/' . implode('|', $needle) . '/'; if (preg_match($pattern, $str, $matches)) { echo '包含匹配项:' . $matches[0]; } else { echo '不包含'; }
Die Ausgabe des obigen Codes lautet „Enthält Übereinstimmungen: Welt“.
Die Array-Funktion in_array in PHP kann auch verwendet werden, um zu bestimmen, ob ein String Elemente in einem Array enthält. Diese Funktion wird verwendet, um zu prüfen, ob ein Wert im Array vorhanden ist, und gibt „true“ zurück, wenn er existiert, andernfalls gibt sie „false“ zurück.
Beispielcode:
$str = 'hello world'; $needle = array('world', 'foo'); if (in_array($needle, $str)) { echo '包含'; } else { echo '不包含'; }
Das Ausgabeergebnis des obigen Codes ist „nicht enthalten“.
Hinweis: Achten Sie auf die Parameterreihenfolge der Funktionen in_array und strpos, da ihre Parameterreihenfolge unterschiedlich ist.
Fazit
In der tatsächlichen Entwicklung können die oben genannten drei Methoden verwendet werden, um zu bestimmen, ob eine Zeichenfolge Elemente in einem Array enthält. Die Leistung und Komplexität der verschiedenen Methoden variiert, und je nach Situation kann die am besten geeignete Methode ausgewählt werden. Wenn Sie mehrere Array-Elemente abgleichen müssen, ist der reguläre Ausdruck preg_match die flexibelste Methode. Wenn Sie nur ein einzelnes Element beurteilen müssen, ist es einfacher und effektiver, die String-Funktion strpos oder die Array-Funktion in_array zu verwenden.
Das obige ist der detaillierte Inhalt vonPHP ermittelt, ob ein String Array-Elemente enthält. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!