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