In der PHP-Entwicklung möchten wir manchmal Fuzzy-Abfragen für Arrays durchführen, um Daten abzugleichen, die ein bestimmtes Schlüsselwort im Array enthalten. Wie kann man es erreichen? Hier sind einige gängige Methoden.
1. Verwenden Sie die Funktion array_filter
function searchArray($array, $keyword){ return array_filter($array, function($value) use ($keyword){ return stripos($value, $keyword) !== false; }); }
Der obige Code verwendet die Funktion array_filter zum Filtern und verwendet eine anonyme Funktion, um eine Zeichenfolgenübereinstimmung für jedes Array-Element zu erreichen.
2. Implementiert durch foreach-Schleife
function searchArray($array, $keyword){ $result = array(); foreach ($array as $value) { if (stripos($value, $keyword) !== false) { $result[] = $value; } } return $result; }
Der obige Code implementiert den String-Abgleich von Array-Elementen durch Schleifen. Wenn es eine Übereinstimmung gibt, wird diese in das Ergebnis-Array eingefügt.
3. Verwenden Sie die Funktion preg_grep
function searchArray($array, $keyword){ return preg_grep('/' . preg_quote($keyword, '/') . '/i', $array); }
Der obige Code verwendet die Funktion preg_grep zum Abgleichen. Verwenden Sie zunächst die Funktion preg_quote, um die Schlüsselwörter zu maskieren, sie im regulären Ausdruck abzugleichen und schließlich das Ergebnisarray zurückzugeben.
Die oben genannten drei Methoden eignen sich alle für Fuzzy-Abfragen in Arrays, und wir können eine davon entsprechend den tatsächlichen Anforderungen auswählen. Gleichzeitig müssen Sie darauf achten, ob die Abfrageergebnisse den Array-Schlüsselwerten entsprechen, was möglicherweise eine zusätzliche Verarbeitung erfordert.
$array = array(0 => 'PHP', 1 => 'JavaScript', 2 => 'Java', 3 => 'C#', 4 => 'Python'); $keyword = 'p'; $result = searchArray($array, $keyword); foreach ($result as $value) { echo $value . ' '; }
Das Obige ist ein Beispielcode, und die Ergebnisse der Suche nach dem passenden Schlüsselwort „p“ sind „PHP“, „Python“.
Zusammenfassung
Array-Fuzzy-Abfrage ist eine sehr häufige Operation in PHP, die hauptsächlich durch die Verwendung einiger gängiger Funktionen wie array_filter, preg_grep usw. implementiert wird. Dies kann natürlich auch mit einer foreach-Schleife erreicht werden. Dabei ist zu beachten, dass je nach tatsächlichem Szenario zusätzliche Beurteilung und Verarbeitung im Code erforderlich sein können. Ich hoffe, dieser Artikel ist für die Leser hilfreich.
Das obige ist der detaillierte Inhalt vonSo fragen Sie Array-Werte in PHP Fuzzy ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!