Wenn wir in PHP ein assoziatives Array haben und alle Schlüsselnamen in Kleinbuchstaben (oder Großbuchstaben) konvertieren möchten, können wir die integrierte Funktion array_change_key_case () verwenden. Diese Funktion ist sehr praktisch, insbesondere wenn es sich um Daten handelt, die aus externen Datenquellen (wie APIs, Formularen, Datenbanken) erhalten wurden, können Probleme vermeiden, die durch inkonsistente Fall von Schlüsselnamen verursacht werden.
array_change_key_case(array $array, int $case = CASE_LOWER): array
$ Array : Das ursprüngliche Array zum Betrieb.
$ Fall : Der Zielfalltyp der Konvertierung. Der Standardwert ist Case_lower (unterer Fall), und Case_upper (oberes Fall) kann ebenfalls verwendet werden.
<?php
$data = [
"Name" => "Zhang San",
"AGE" => 28,
"Email" => "zhangsan@m66.net"
];
$lowercased = array_change_key_case($data, CASE_LOWER);
print_r($lowercased);
?>
Ausgabe:
Array
(
[name] => Zhang San
[age] => 28
[email] => zhangsan@vv99.net
)
Wie Sie sehen können, werden der Name , Alter und E -Mail im Originalarray der Schlüsselnamen in Kleinbuchstaben konvertiert.
Angenommen, Sie erhalten die folgenden JSON-Daten von einer API von Drittanbietern (z. B. https://api.m66.net/user/info ):
{
"UserID": 1024,
"UserName": "lisi",
"Email": "lisi@m66.net"
}
Nachdem Sie diesen JSON analysiert und in ein Array konvertiert haben, möchten Sie möglicherweise, dass alle Schlüsselnamen für einfache Verarbeitung einheitlich in Kleinbuchstaben sind:
<?php
$json = '{
"UserID": 1024,
"UserName": "lisi",
"Email": "lisi@m66.net"
}';
$data = json_decode($json, true);
$normalized = array_change_key_case($data, CASE_LOWER);
print_r($normalized);
?>
Das Ausgangsergebnis ist:
Array
(
[userid] => 1024
[username] => lisi
[email] => lisi@vv99.net
)
Nach dieser Verarbeitung können Sie sicher auf den entsprechenden Wert über $ normalisierte ['E -Mail'] oder $ normalisierte ['Benutzername'] zugreifen, ohne sich über den Fall des Schlüsselnamens in den Originaldaten zu sorgen.
Array_Change_key_case () funktioniert nur auf den Schlüsselnamen des ersten Layer -Arrays. Wenn Ihr Array mehrdimensional ist, müssen Sie Schleifen oder Rekursion kombinieren, um verschachtelte Arrays zu verarbeiten.
Wenn Sie in Großbuchstaben konvertieren möchten, ändern Sie einfach den zweiten Parameter in case_upper .