Suchen Sie in einem PHP-Array nach einem Teilstring-Treffer
Sie können die Funktion array_filter()
in PHP verwenden, um in einem Array zu suchen und nur die Elemente zurückzugeben, die einen bestimmten String enthalten. Beispielsweise können Sie alle Elemente in einem Array $arr
, die den String "Beispiel" enthalten, mit folgendem Code suchen:
<?php
$arr = ['Example1', 'example2', 'exAmple3', 'other'];
$result = array_filter($arr, function ($element) {
return strpos($element, "example") !== false;
});
foreach ($result as $element) {
echo $element . "\n";
}
// Output:
// example2
?>
Die Funktion array_filter()
nimmt zwei Argumente entgegen: das Array, in dem Sie suchen möchten, und eine Callback-Funktion, die auf jedes Element im Array angewendet wird. Die Callback-Funktion sollte true
zurückgeben, wenn das Element im Ergebnis enthalten sein soll, und false
, wenn es ausgeschlossen werden soll. In diesem Fall verwendet die Callback-Funktion die Funktion strpos()
, um zu überprüfen, ob der String "Beispiel" im Element vorhanden ist, und gibt true
zurück, wenn er vorhanden ist.
Auch kann man preg_grep() funktion verwenden um nach Teilstring zu suchen
<?php
$arr = ['Example1', 'example2', 'exAmple3', 'other'];
$result = preg_grep('/example/i', $arr);
foreach ($result as $element) {
echo $element . "\n";
}
// Output:
// Example1
// example2
// exAmple3
?>
Die preg_grep() Funktion nimmt zwei Argumente entgegen: ein regulärer Ausdruck-Muster zum Übereinstimmen und das Array, in dem gesucht werden soll. Diese Funktion wird ein Array zurückgeben, das alle Elemente enthält, die dem Muster entsprechen.