Heim  >  Artikel  >  Backend-Entwicklung  >  So führen Sie eine Fuzzy-Abfrage für ein Array in PHP durch

So führen Sie eine Fuzzy-Abfrage für ein Array in PHP durch

PHPz
PHPzOriginal
2023-04-12 13:57:03718Durchsuche

In PHP ist Array eine der am häufigsten verwendeten Datenstrukturen. Manchmal müssen wir Fuzzy-Abfragen für Arrays durchführen, um bestimmte Daten zu finden. In diesem Artikel erfahren Sie, wie Sie Fuzzy-Abfragen für Arrays in PHP durchführen.

  1. Was ist eine Fuzzy-Abfrage? Durch die Verwendung von Platzhaltern und Sonderzeichen können Sie Daten zuordnen, die bestimmte Muster enthalten.

Fuzzy-Abfrage eines PHP-Arrays

  1. In PHP können wir einige Funktionen verwenden, um Fuzzy-Abfragen für Arrays durchzuführen. Hier sind einige häufig verwendete Funktionen:

array_filter: Diese Funktion kann die Werte im Array filtern und ein neues Array zurückgeben. Sie können eine Rückruffunktion verwenden, um zu definieren, welche Werte gefiltert werden sollen.
  • Beispielcode:

    $arr = array('apple', 'banana', 'cherry', 'date');
    $result = array_filter($arr, function($value) {
        return strpos($value, 'a') !== false;
    });
    print_r($result); // 输出array('apple', 'banana');
    Im obigen Code wird die Funktion array_filter verwendet, um die Werte zu filtern, die den Buchstaben „a“ im Array enthalten. Die Funktion strpos in der Callback-Funktion wird verwendet, um festzustellen, ob eine Zeichenfolge eine andere Zeichenfolge enthält.

    preg_grep: Diese Funktion führt einen regulären Ausdrucksabgleich für die Werte in einem Array durch und gibt ein neues Array zurück, das alle Übereinstimmungen enthält.
  • Beispielcode:

    $arr = array('001', '002', '003', '011', '012', '013');
    $result = preg_grep("/01[1-3]/", $arr);
    print_r($result); // 输出array('011', '012', '013');
    Im obigen Code wird die Funktion preg_grep verwendet, um das Array abzugleichen, das mit „01“ beginnt und mit „1“, „2“ oder endet '3' Der Wert am Ende.

    array_walk_recursive: Diese Funktion kann alle Elemente in einem mehrdimensionalen Array durchlaufen und eine Rückruffunktion verwenden, um jedes Element zu verarbeiten.
  • Beispielcode:

    $arr = array(
        'fruit' => array('apple', 'banana', 'cherry'),
        'color' => array('red', 'yellow', 'green')
    );
    $result = array();
    array_walk_recursive($arr, function ($value, $key) use (&$result) {
        if (strpos($value, 'a') !== false) {
            $result[] = $value;
        }
    });
    print_r($result); // 输出array('apple', 'banana');
    Im obigen Code wird die Funktion array_walk_recursive verwendet, um ein Array zu durchlaufen, das ein mehrdimensionales Array enthält. Die Funktion strpos in der Callback-Funktion wird verwendet, um festzustellen, ob eine Zeichenfolge eine andere Zeichenfolge enthält.

  • Zusammenfassung
  1. In PHP können wir einige Funktionen verwenden, um Fuzzy-Abfragen für Arrays durchzuführen. Diese Funktionen helfen uns, bestimmte Muster in Daten zu finden. In der tatsächlichen Entwicklung ist es erforderlich, die entsprechende Funktion auszuwählen, um Fuzzy-Abfragen entsprechend den spezifischen Anforderungen durchzuführen.

Das obige ist der detaillierte Inhalt vonSo führen Sie eine Fuzzy-Abfrage für ein Array in PHP durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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