So führen Sie eine Fuzzy-Abfrage für ein Array in PHP durch
In der PHP-Entwicklung sind Arrays ein unvermeidlicher Teil von uns. Wenn wir Daten in einem Array abfragen müssen, verwenden wir normalerweise Fuzzy-Abfragen. In diesem Artikel wird vorgestellt, wie man Fuzzy-Abfragen von Arrays in PHP durchführt.
1. Was ist eine Array-Fuzzy-Abfrage?
Array-Fuzzy-Abfrage, d. h. eine auf Schlüsselwörtern basierende Datenabfrage, erfordert keine genaue Übereinstimmung, es müssen nur übereinstimmende Elemente zurückgegeben werden Ergebnisse. In der tatsächlichen Entwicklung werden häufig Array-Fuzzy-Abfragen verwendet, um Daten mit ähnlichen Merkmalen zu finden.
Zum Beispiel haben wir eine Kontaktgruppe, die mehrere Kontaktinformationen enthält, darunter Name, Telefonnummer, E-Mail-Adresse und andere Informationen. Wir können Fuzzy-Abfragen verwenden, um die Kontaktinformationen einer Person zu finden, oder sogar nur einen Teil eines Namens oder einer Telefonnummer eingeben, um Ergebnisse zu finden.
2. Verwenden Sie array_filter() für Fuzzy-Abfragen.
Die Funktion array_filter() von PHP kann jedes Element im Array bedingt filtern und Ergebnisse zurückgeben, die die Bedingungen erfüllen. Wir können diese Funktion verwenden, um eine Fuzzy-Abfrage von Arrays zu implementieren.
Angenommen, wir haben ein Benutzerarray, das mehrere Kontaktinformationen enthält:
$users = array( array('name' => '张三', 'phone' => '13811112222', 'email' => 'zhangsan@example.com'), array('name' => '李四', 'phone' => '13911113333', 'email' => 'lisi@example.com'), array('name' => '王五', 'phone' => '15011112222', 'email' => 'wangwu@example.com'), array('name' => '赵六', 'phone' => '18011114444', 'email' => 'zhaoliu@example.com') );
Jetzt möchten wir die Funktion implementieren, Benutzer anhand von Schlüsselwörtern zu finden. Wir können eine Funktion definieren, Schlüsselwörter und Benutzerarrays übergeben und die Funktion array_filter() verwenden, um Elemente im Array zu filtern, die die Bedingungen erfüllen.
function search_users($keyword, $users) { $result = array_filter($users, function($user) use ($keyword) { foreach($user as $value) { if(stripos($value, $keyword) !== false) { return true; } } return false; }); return $result; }
Die obige Funktion führt einen Schleifenvergleich aller Benutzerinformationen durch und gibt true zurück, wenn eine Übereinstimmung gefunden wird. Die Funktion „stripos()“ kann das erste Vorkommen einer Zeichenfolge in einer anderen Zeichenfolge ohne Berücksichtigung der Groß-/Kleinschreibung abrufen.
Wir können diese Funktion aufrufen, um eine Fuzzy-Abfrage durchzuführen:
$search_result = search_users('1111', $users);
Diese Abfrage gibt alle Kontaktinformationen zurück, deren Telefonnummer „1111“ enthält.
Die Verwendung der Funktion array_filter() zum Implementieren von Fuzzy-Abfragen für Arrays ist einfach und benutzerfreundlich, weist jedoch auch ein Problem auf: Wenn die Datenmenge im Array groß ist, kann die Leistung beeinträchtigt werden. Zu diesem Zeitpunkt können wir eine andere Methode verwenden, um eine Fuzzy-Abfrage des Arrays zu implementieren.
3. Verwenden Sie reguläre Ausdrücke für Fuzzy-Abfragen.
Reguläre Ausdrücke sind ein Werkzeug zum Abgleichen und Ersetzen von Text. In PHP können wir die Funktion preg_grep() verwenden, um Elemente, die Bedingungen erfüllen, in einem Array basierend auf regulären Ausdrücken herauszufiltern.
Angenommen, wir haben ein Schlüsselwortarray, das mehrere Schlüsselwörter enthält:
$keywords = array('1111', 'san', 'y@example');
Jetzt möchten wir alle Kontaktinformationen finden, die die Schlüsselwortbedingungen im Benutzerarray erfüllen. Wir können reguläre Ausdrücke verwenden, um diese Funktion zu erreichen:
function search_users_regex($keywords, $users) { $result = array(); foreach ($keywords as $keyword) { $pattern = '/' . preg_quote($keyword, '/') . '/i'; // i表示不区分大小写 // preg_grep()返回满足条件的元素的数组 $matches = preg_grep($pattern, $users); $result = array_merge($result, $matches); } return $result; }
Die obige Funktion durchläuft das Schlüsselwortarray und generiert einen regulären Ausdruck für jedes Schlüsselwort. Verwenden Sie preg_grep (), um eine Übereinstimmung herzustellen, und passen Sie die Kontaktbedingungen an Informationen in ein resultierendes Array.
Wir können diese Funktion aufrufen, um eine Fuzzy-Abfrage durchzuführen:
$search_result = search_users_regex($keywords, $users);
Diese Abfrage gibt alle Kontaktinformationen zurück, die eine beliebige Schlüsselwortbedingung erfüllen, einschließlich Telefonnummern mit „1111“ und Kontaktinformationen enthält „san“ im Namen und „y@example“ in der E-Mail-Adresse.
Die Verwendung regulärer Ausdrücke für die Fuzzy-Abfrage von Arrays kann genauere Ergebnisse liefern, die die Bedingungen erfüllen, hat jedoch auch einen Nachteil: Die Erstellung regulärer Ausdrücke erfordert bestimmte Kenntnisse und Fähigkeiten, wenn sie nicht gut geschrieben sind , kann es schwierig werden, den Code zu verstehen und zu warten.
4. Zusammenfassung
Array-Fuzzy-Abfrage ist eine der am häufigsten verwendeten Funktionen in der PHP-Entwicklung, die uns helfen kann, schnell Elemente im Array zu finden, die Bedingungen erfüllen. In diesem Artikel werden zwei Möglichkeiten zur Implementierung einer Array-Fuzzy-Abfrage vorgestellt, nämlich die Verwendung der Funktion array_filter() und die Verwendung regulärer Ausdrücke. In der tatsächlichen Entwicklung können wir basierend auf den tatsächlichen Anforderungen eine geeignete Implementierungsmethode auswählen. Gleichzeitig sollten wir auch auf die Auswirkungen achten, die Fuzzy-Abfragen auf die Leistung haben können, und die Abfrageeffizienz so weit wie möglich optimieren.
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die JIT -Kompilierung von PHP 8 verbessert die Leistung, indem häufig ausgeführte Code in den Maschinencode zusammengestellt wird, um Anwendungen mit schweren Berechnungen zugute und die Ausführungszeiten zu reduzieren.

In dem Artikel werden OWASP Top 10 Schwachstellen in PHP- und Minderungsstrategien erörtert. Zu den wichtigsten Problemen gehören die Injektion, die kaputte Authentifizierung und XSS mit empfohlenen Tools zur Überwachung und Sicherung von PHP -Anwendungen.

In dem Artikel wird das Sicherung von PHP -Dateien -Uploads erläutert, um Schwachstellen wie die Code -Injektion zu verhindern. Es konzentriert sich auf die Dateitypvalidierung, den sicheren Speicher und die Fehlerbehandlung, um die Anwendungssicherheit zu verbessern.

In dem Artikel wird die symmetrische und asymmetrische Verschlüsselung in PHP erörtert und ihre Eignung, Leistung und Sicherheitsunterschiede verglichen. Die symmetrische Verschlüsselung ist schneller und für Massendaten geeignet, während asymmetrisch für den sicheren Schlüsselaustausch verwendet wird.

In dem Artikel wird die Implementierung einer robusten Authentifizierung und Autorisierung in PHP erörtert, um den nicht autorisierten Zugriff zu verhindern, Best Practices zu beschreiben und sicherheitsrelevante Tools zu empfehlen.

In Artikel wird das Abrufen von Daten aus Datenbanken mithilfe von PHP, die Schritte, Sicherheitsmaßnahmen, Optimierungstechniken und gemeinsame Fehler bei Lösungen erfasst.

In dem Artikel werden Strategien erörtert, um CSRF-Angriffe in PHP zu verhindern, einschließlich der Verwendung von CSRF-Token, selben Cookies und ordnungsgemäßem Sitzungsmanagement.

In dem Artikel werden die Funktionen von MySQLI_Query () und MySQLI_Fetch_assoc () in PHP für MySQL -Datenbankinteraktionen erörtert. Es erklärt ihre Rollen, Unterschiede und liefert ein praktisches Beispiel für ihre Verwendung. Das Hauptargument konzentriert sich auf die Vorteile von usin
