Aktueller Standort: Startseite> Neueste Artikel> Array_Change_key_Case () Best Practices bei der Verarbeitung von JSON -Daten

Array_Change_key_Case () Best Practices bei der Verarbeitung von JSON -Daten

M66 2025-04-25

In der täglichen Entwicklung erhalten wir häufig JSON-Daten von Schnittstellen von Drittanbietern. Das Fallformat der Schlüsselnamen in den von diesen Schnittstellen zurückgegebenen Daten ist jedoch inkonsistent, einige beginnen mit Kapital und einige sind alle Kapital oder alle niedrigeren Fall. Dieses inkonsistente Format des Schlüsselnamens verursacht große Probleme in der anschließenden Verarbeitung von Daten, wie z. B. Feldextraktion, einheitlicher Zuordnung, Array -Konvertierung in Objekte usw., die Fehler machen oder langwierig werden.

Glücklicherweise bietet PHP eine sehr praktische Funktion: Array_Change_key_case () , die uns hilft , Schlüsselnamen in Arrays elegant und effizient zu vereinen und so dieses Problem zu lösen.

1. Was ist Array_Change_key_Case ()?

Array_Change_key_case () ist eine integrierte Funktion in PHP, mit der die oberen und Klein- oder Großbuchstaben aller Schlüsselnamen im Array konvertiert werden.

Funktionsdefinition:

 array_change_key_case(array $array, int $case = CASE_LOWER): array
  • $ array : das zu verarbeitende assoziative Array;

  • $ Fall : Konvertiert den Zielfalltyp, Case_lower (Standard) bedeutet, in Kleinbuchstaben konvertiert zu werden, und Case_upper bedeutet in Großbuchstaben.

2. Typisches Nutzungsszenario: Verarbeitung von JSON -Daten verarbeiten

Verwenden wir eine echte JSON -Zeichenfolge als Beispiel, um zu demonstrieren, wie Sie Schlüsselnamen mit oberen und unteren Fall elegant vereinigen können.

Beispiel JSON -Daten (von der API -Schnittstelle):

 {
    "UserID": 101,
    "UserName": "Alice",
    "Email": "alice@example.com"
}

Wie Sie sehen können, sind die Schlüsselnamen in Fallmischung. Bei der Verarbeitung möchten wir alle Tastennamen in Kleinbuchstaben umwandeln.

PHP -Beispielcode:

 <?php

// Angenommen, dies stammt von der Schnittstelle https://api.m66.net/user Daten erhalten
$json = '{
    "UserID": 101,
    "UserName": "Alice",
    "Email": "alice@example.com"
}';

// Erster Schritt:Wille JSON In assoziatives Array konvertieren
$data = json_decode($json, true);

// Schritt 2:verwenden array_change_key_case() Wille键名统一转为小写
$normalized = array_change_key_case($data, CASE_LOWER);

// Ausgang verarbeitetes Array
print_r($normalized);

/*
Ausgangsergebnis:
Array
(
    [userid] => 101
    [username] => Alice
    [email] => alice@example.com
)
*/

?>

Auf diese Weise können wir $ Normalized ['Benutzername'] und andere Methoden verwenden, um Werte zu erhalten, ohne sich über das Problem des inkonsistenten Falles von Schlüsselnamen zu sorgen.

3. Erweiterung: Behandeln Sie die Schlüsselnamen verschachtelter Jsons

Wenn JSON eine mehrschichtige verschachtelte Struktur ist, kann es allein die erste Ebene verarbeiten, wenn Sie Array_Change_key_case () nur die erste Ebene verarbeiten, und wir müssen eine rekursive Funktion einkapseln, um alle Ebenen zu verarbeiten:

 function array_keys_to_lower_recursive(array $array): array {
    $result = [];
    foreach ($array as $key => $value) {
        $key = is_string($key) ? strtolower($key) : $key;
        $result[$key] = is_array($value) ? array_keys_to_lower_recursive($value) : $value;
    }
    return $result;
}

Die Verwendungsmethode ähnelt der oben genannten:

 $normalized = array_keys_to_lower_recursive($data);

4. Zusammenfassung

Wenn Sie JSON -Daten verarbeiten und den Schlüsselfall vereinen möchten, ist Array_Change_key_Case () ein einfaches und effizientes Tool. Mit der rekursiven Version kann es auch komplexere Datenstrukturen verarbeiten. Dies verbessert nicht nur die Lesbarkeit des Codes, sondern senkt auch die Wartungskosten.