Bei der Verarbeitung von Arrays in PHP müssen wir häufig Daten filtern und reinigen. Traditionell verwenden wir Schleifen und bedingte Urteile, um diese Aufgaben zu erfüllen, aber diese Praxis kann zu aufgeblähten und ineffizienten Code führen. Um die Lesbarkeit und Ausführungseffizienz des Codes zu verbessern, können wir einige integrierte Array-Funktionen wie array_diff_key () und array_filter () verwenden.
In diesem Artikel wird vorgestellt, wie Sie diese beiden Funktionen verwenden, um PHP -Daten zu bereinigen und Ihnen dabei zu helfen, prägnanteren und effizienteren Code zu schreiben.
Die Funktion array_diff_key () wird verwendet, um die Tasten von zwei Arrays zu vergleichen, wobei ein Array mit Schlüssel zurückgibt, die im ersten Array vorhanden sind, nicht im zweiten Array.
Angenommen, Sie haben ein Array, das mehrere Schlüsselwertpaare enthält, aber Sie möchten einige unerwünschte Schlüssel entfernen. Die Verwendung von Array_Diff_key () ist eine gute Wahl. Es gibt ein neues Array zurück, bei dem nur die Schlüssel, die Sie benötigen, erhalten bleiben.
<?php
// Originalarray
$data = [
'name' => 'John',
'email' => 'john@example.com',
'phone' => '1234567890',
'website' => 'https://m66.net'
];
// Schlüssel zu beseitigen
$keysToRemove = ['phone', 'website'];
// verwenden array_diff_key() Entfernen Sie unerwünschte Schlüssel
$filteredData = array_diff_key($data, array_flip($keysToRemove));
// Ausgangsergebnis
print_r($filteredData);
?>
Array
(
[name] => John
[email] => john@example.com
)
In diesem Beispiel entfernen Array_Diff_key () das Telefon- und Website -Schlüssel erfolgreich, indem sie die Schlüssel des $ data -Array und des $ keystorEmove -Arrays vergleichen. Array_flip () wandelt die Tasten um, die in die Tasten des Arrays entfernt werden sollen, und übergibt sie als zweiter Parameter in die Funktion array_diff_key () .
Die Funktion array_filter () wird verwendet, um Elemente in einem Array zu filtern und Elemente zurückzugeben, die den angegebenen Bedingungen erfüllen. Sie können diese Funktion verwenden, um die fein -feine Filterung von Arrays durchzuführen, z. B. nur Daten beibehalten, die einer bestimmten Bedingung erfüllen.
Angenommen, Sie haben ein Array, in dem Daten für mehrere Benutzer gespeichert sind, und Sie möchten nur diese gültigen E -Mail -Adressen herausfiltern. Sie können Array_filter () verwenden, um diese Aufgabe zu erledigen.
<?php
// Originalarray
$users = [
'user1' => ['name' => 'John', 'email' => 'john@example.com'],
'user2' => ['name' => 'Jane', 'email' => 'jane@invalid'],
'user3' => ['name' => 'Mark', 'email' => 'mark@valid.net'],
];
// verwenden array_filter() Filtern Sie gültige Benutzer
$validUsers = array_filter($users, function($user) {
return filter_var($user['email'], FILTER_VALIDATE_EMAIL) !== false;
});
// Ausgangsergebnis
print_r($validUsers);
?>
Array
(
[user1] => Array
(
[name] => John
[email] => john@example.com
)
[user3] => Array
(
[name] => Mark
[email] => mark@valid.net
)
)
In diesem Beispiel filtert Array_filter () diejenigen Benutzer, deren E -Mails über die Rückruffunktion gültig sind. Verwenden der Funktion filter_var () , kombiniert mit der Konstante filter_validate_email , können wir die E -Mail -Adresse jedes Benutzers effizient überprüfen.
Mit Array_Diff_Key () und Array_Filter () können Sie bei der Bearbeitung großer Arrays die Effizienz verbessern. Diese Funktionen selbst sind in C geschrieben und sind schneller als reine PHP -Schleifen. Gleichzeitig können sie Ihnen helfen, sauberer und leichter Code zu lesen.
Durch die Vermeidung einer manuellen Schleifenquelle und -beurteilung können Sie die Codekomplexität reduzieren, potenzielle Fehler reduzieren und den Code leichter aufrechterhalten.
Mit Array_Diff_key () können Sie unnötige Schlüssel aus dem Array entfernen und die Daten ordentlich halten.
Array_Filter () hilft Ihnen, Elemente in einem Array basierend auf den Bedingungen zu filtern, und nur Elemente, die die Bedingungen erfüllen, werden beibehalten.
Beide Funktionen können die Effizienz des Codes verbessern, redundante Schleifen vermeiden und den Code prägnanter und leicht zu lesen machen.
Durch die Verwendung dieser beiden Funktionen können Sie Array-Daten problemlos verarbeiten, Ihre PHP-Programmierkenntnisse verbessern und effizientes und leicht zu machender Code schreiben.