Heim > Artikel > Backend-Entwicklung > Wie erreicht man SQL-ähnliche \'%search%\'-Funktionalität in PHP-Arrays?
Ähnliche SQL-Filterung in PHP: Übereinstimmungen mit Teiltext zurückgeben
Filtern von Werten aus einem Array basierend auf einer Teiltextsuche, ähnlich wie bei SQL WIE die Abfrage „%search%“ kann in vielen Programmierszenarien eine wesentliche Aufgabe sein. Um dies in PHP mithilfe von Arrays zu erreichen, sind spezielle Techniken erforderlich.
Betrachten wir das bereitgestellte Beispiel. Bei einem Array mit Farbnamen besteht das Ziel darin, nur die Farben zurückzugeben, die teilweise mit dem Eingabetext des Benutzers übereinstimmen. Bei einer Eingabe von „bl“ wäre die erwartete Ausgabe beispielsweise [„blau“, „schwarz“] aus dem Eingabearray [„orange“, „blau“, „grün“, „rot“, „rosa“, "braun", "schwarz"].
Reguläre Ausdrücke mit preg_grep verwenden
Anstatt array_filter mit einer benutzerdefinierten Lambda-Funktion zu verwenden, besteht ein einfacherer und effizienterer Ansatz darin Verwenden Sie die Funktion preg_grep. Es kombiniert die Leistungsfähigkeit regulärer Ausdrücke mit Array-Filterung:
<code class="php">$input = preg_quote('bl', '~'); // Quote the input string for use in regex $data = array('orange', 'blue', 'green', 'red', 'pink', 'brown', 'black'); $result = preg_grep('~' . $input . '~', $data);</code>
In diesem Code:
Das obige ist der detaillierte Inhalt vonWie erreicht man SQL-ähnliche \'%search%\'-Funktionalität in PHP-Arrays?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!