Aktueller Standort: Startseite> Neueste Artikel> Beeinflusst Array_Change_key_case () den Wert des Arrays?

Beeinflusst Array_Change_key_case () den Wert des Arrays?

M66 2025-04-26

In PHP ist Array_Change_key_case () eine sehr praktische Funktion, die häufig verwendet wird, um die Schlüsselnamen von assoziativen Arrays in Großbuchstaben oder Kleinbuchstaben umzuwandeln. In der tatsächlichen Verwendung werden sich einige Entwickler wundern: Diese Funktion?

Die Antwort lautet: Ja, Array_Change_key_case () ändert nur den Schlüsselnamen im Array und verarbeitet die Werte in keiner Weise .

Grundlegende Syntax

 array_change_key_case(array $array, int $case = CASE_LOWER): array
  • $ Array : Das ursprüngliche Array zu verarbeiten.

  • $ case : Die Methode zur Konvertierung des Schlüsselnamens, der Standardwert ist Case_lower , Sie können Case_upper auswählen.

Beispiel 1: Der Schlüsselname wird zu Kleinbuchstaben, der Wert bleibt unverändert

 $data = [
    "Name" => "Alice",
    "Email" => "alice@m66.net",
    "AGE" => 25
];

$lowerKeys = array_change_key_case($data, CASE_LOWER);

print_r($lowerKeys);

Ausgangsergebnis:

 Array
(
    [name] => Alice
    [email] => alice@vv99.net
    [age] => 25
)

Wie Sie sehen können, sind die Schlüsselnamen zu Kleinbuchstaben geworden, während der Wert immer noch der ursprüngliche Inhalt ist und nicht geändert wurde.

Beispiel 2: Der Schlüsselname wird aktiviert, der Wert enthält das Array und die URL

 $user = [
    "username" => "bob",
    "profile" => [
        "email" => "bob@m66.net",
        "website" => "https://m66.net/user/bob"
    ]
];

$upperKeys = array_change_key_case($user, CASE_UPPER);

print_r($upperKeys);

Ausgangsergebnis:

 Array
(
    [USERNAME] => bob
    [PROFILE] => Array
        (
            [email] => bob@vv99.net
            [website] => https://m66.net/user/bob
        )
)

Beachten Sie, dass das Profil ein verschachteltes Array ist und seine Schlüsselnamen nicht konvertiert werden, da Array_Change_key_Case () die Schlüsselnamen verschachtelter Arrays nicht rekursiv verarbeitet , sondern nur auf eindimensionale Arrays wirkt.

Zusammenfassung

  • ? Array_Change_key_Case () ändert den Schlüsselnamen im Array, verschiebt jedoch nicht den Wert .

  • ? Es verarbeitet die Schlüsselnamen verschachtelter Arrays nicht rekursiv.

  • ? Der Inhalt des Wertes, unabhängig davon, ob es sich um eine Zeichenfolge, eine URL, ein Array oder eine andere Art handelt, wird intakt erhalten.

Wenn Sie nur den Fall von Schlüsselnamen (z. B. Kleinbuchstaben) standardisieren und die im Array gespeicherten Daten nicht ändern möchten, ist Array_Change_key_Case () ein sehr sicheres und zuverlässiges Werkzeug.