Aktueller Standort: Startseite> Neueste Artikel> Wie führt Array_Change_key_case () auf, wenn der Schlüsselname im Array Sonderzeichen enthält?

Wie führt Array_Change_key_case () auf, wenn der Schlüsselname im Array Sonderzeichen enthält?

M66 2025-04-28

In PHP ist Array_Change_key_case () eine häufig verwendete Funktion, die Buchstaben aller Schlüsselnamen in einem Array in Kleinbuchstaben oder Großbuchstaben umwandelt. Aber wenn die Schlüsselnamen eines Arrays spezielle Zeichen (wie Symbole, Zahlen, Räume, Chinesen usw.) enthalten, was verhält es sich? In diesem Artikel werden die Details anhand von Beispielen untersucht.

Funktionssyntax

 array_change_key_case(array $array, int $case = CASE_LOWER): array
  • $ Array : Das zu verarbeitende Array.

  • $ case : Die Konstanten case_lower (Standard) oder Case_upper repräsentieren die Konvertierung in Kleinbuchstaben oder Großbuchstaben.

Schauen wir uns ein grundlegendes Beispiel an

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

$result = array_change_key_case($data, CASE_LOWER);
print_r($result);

Ausgabe:

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

Wie Sie sehen können, werden alle Schlüsselnamen vom Buchstabentyp in Kleinbuchstaben konvertiert.

Was passiert mit den Schlüsselnamen, die Sonderzeichen hinzufügen?

 $data = [
    "User-Name" => "Bob",
    "AGE!" => 25,
    "Adresse" => "Peking",
    "Phone Number" => "1234567890",
    "123KEY" => "value",
];

$result = array_change_key_case($data, CASE_UPPER);
print_r($result);

Das Ausgabeergebnis ist wie folgt:

 Array
(
    [USER-NAME] => Bob
    [AGE!] => 25
    [Adresse] => Peking
    [PHONE NUMBER] => 1234567890
    [123KEY] => value
)

Analyseanweisungen

  • Schlüsselnamen mit Sonderzeichen (z. B. - , ! , Leerzeichen) : Konvertieren Sie nur die englischen Buchstabenteile, und andere Zeichen bleiben so wie sie sind.

  • Nicht-Letter-Schlüsselnamen (wie Chinesisch und Ziffern) : Sie werden nicht geändert und bleiben so wie es ist.

  • Zahlenschlüssel : Array_Change_key_Case () verarbeitet nur Stringschlüsselnamen, und die Zahlenschlüssel sind überhaupt nicht betroffen.

Lassen Sie mich Ihnen ein weiteres Beispiel geben:

 $data = [
    "name" => "Xiao Ming",
    42 => "Zahlenschlüssel",
    "HELLO_world!" => "test"
];

print_r(array_change_key_case($data, CASE_LOWER));

Ausgabe:

 Array
(
    [name] => Xiao Ming
    [42] => Zahlenschlüssel
    [hello_world!] => test
)

Zusammenfassung

Der Aktionsumfang von Array_Change_key_Case () enthält nur Schlüssebamen des String -Typs und wirkt sich nur auf den Fall der englischen Buchstaben in den Schlüsselnamen aus. Andere Zeichen (einschließlich spezieller Symbole, Räume, Chinesen und Zahlen) werden nicht geändert. Dies ist besonders wichtig, wenn Sie sich mit Arrays mit Sondernamen der Schlüsselformat befassen, um Fehloperationen oder Schlüsselnamenkonflikte zu vermeiden.

Praktischer Rat

  • Bei der Verarbeitung von Schlüsselnamen ist es wichtig zu klären, welche Schlüssel spezielle Zeichen enthalten, insbesondere Arrays, die aus externen APIs oder Benutzereingaben generiert werden.

  • Wenn Sie die Regeln vollständig anpassen müssen, um Schlüsselnamen zu verarbeiten (z. B. nur Teilzeichen ersetzen), können Sie Array_map () verwenden oder das Array durchqueren, um die Verarbeitungslogik anzupassen.

Ich hoffe, dieser Artikel kann Ihnen helfen, das Verhalten und die Verwendungsvorkehrungen von Array_Change_key_Case () klarer zu verstehen! Wenn Sie die Fähigkeiten zur Verarbeitung von PHP -Array weiter erlernen müssen, folgen Sie uns bitte für weitere Tutorials.