In der PHP -Entwicklung befassen wir uns häufig mit Problemen mit Schlüsselnamen in Arrays und dem Betrieb von Kreuzungsschlüssel aus mehreren Arrays. array_change_key_case () und array_intersect_key () sind zwei sehr praktische Array -Funktionen. Wenn wir sie zusammen verwenden, können wir eine flexiblere Datenfilterung und -vergleich erreichen.
In diesem Artikel wird erläutert, wie Sie Array_Change_key_Case () mit Array_intersect_key () effektiv verwenden und ein praktisches Beispiel verwenden, um seine Verwendung zu veranschaulichen.
Array_Change_key_Case () wird verwendet, um alle Schlüsselnamen eines Arrays in Großbuchstaben oder Kleinbuchstaben umzuwandeln.
Grammatik:
array_change_key_case(array $array, int $case = CASE_LOWER): array
Der Parameter $ Case ist optional und der Standardwert ist Case_lower (unterer Fall) oder kann auf case_upper (obere Fall) eingestellt werden.
Array_intersect_key () wird verwendet, um die Schlüsselnamen von zwei (oder mehr) Arrays und Rückgabetwerten zu vergleichen, deren Schlüsselnamen im ersten Array vorhanden sind.
Grammatik:
array_intersect_key(array $array1, array ...$arrays): array
Angenommen, wir haben zwei Arrays. Einer ist die vom Benutzer eingereichten Formulardaten und die andere ist die Liste der Felder, die wir zulassen. Wir möchten die Felder extrahieren, an denen wir aus den Formdaten interessiert sind, und die Fallunterschiede ignorieren.
<?php
// Benutzernde Daten,Mögliche Schlüsselnamen sind im Fall inkonsistent
$formData = [
'Name' => 'Alice',
'EMAIL' => 'alice@m66.net',
'Age' => 30,
'Location' => 'Beijing'
];
// Felder erlaubt(Einheitlich in Kleinbuchstaben)
$allowedFields = [
'name' => true,
'email' => true
];
// Konvertieren Sie Benutzerdatenschlüsselnamen in Kleinbuchstaben
$normalizedFormData = array_change_key_case($formData, CASE_LOWER);
// Holen Sie sich das Feld des Kreuzungsschlüssels
$filteredData = array_intersect_key($normalizedFormData, $allowedFields);
// Ausgangsergebnis
print_r($filteredData);
?>
Array
(
[name] => Alice
[email] => alice@vv99.net
)
Diese Kombination ist nützlich, wenn API -Anfragen, Formularvalidierung oder Benutzereingabereinigung behandelt werden. Zum Beispiel möchten wir beim Erstellen einer erholsamen Schnittstelle häufig, dass der Feldname von Fall unempfindlich ist und nur Felder akzeptiert, die wir ausdrücklich zulassen.
Wenn Sie zuerst Array_Change_key_case () verwenden, um den Fall von Schlüsselnamen zu vereinen, und dann mit Array_intersect_key () die erforderlichen Felder herauszufiltern, können wir eine genauere und fehlertolerante Verarbeitung von Array-Daten durchführen. Diese Kombination ist einfach in der Logik und hat eine starke praktische Fähigkeit und ist ein sehr empfohlenes Modell in der PHP -Entwicklung.
Wenn Sie Probleme haben, sich mit Feldanpassung oder Datenreinigung zu befassen, probieren Sie diese Kombination aus, wodurch Ihr Code prägnanter und robuster wird.