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.