So fragen Sie Array-Werte in PHP Fuzzy ab

PHPz
Freigeben: 2023-04-12 14:25:16
Original
1055 Leute haben es durchsucht

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; 
    }); 
}
Nach dem Login kopieren

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; 
}
Nach dem Login kopieren

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); 
}
Nach dem Login kopieren

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 . ' '; 
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage