Dans PHP, si nous avons un tableau associatif et que nous voulons convertir tous les noms de clés en minuscules (ou majuscules), nous pouvons utiliser la fonction intégrée array_change_key_case () . Cette fonction est très pratique, en particulier lorsqu'il s'agit de données obtenues à partir de sources de données externes (telles que les API, les formulaires, les bases de données), il peut éviter les problèmes causés par un cas incohérent de noms de clés.
array_change_key_case(array $array, int $case = CASE_LOWER): array
$ Array : le tableau d'origine à fonctionner.
$ cas : le type de cas cible de la conversion. La valeur par défaut est Case_Lower (en bas de casse) et Case_upper (Upper Case) peut également être utilisée.
<?php
$data = [
"Name" => "Zhang San",
"AGE" => 28,
"Email" => "zhangsan@m66.net"
];
$lowercased = array_change_key_case($data, CASE_LOWER);
print_r($lowercased);
?>
Sortir:
Array
(
[name] => Zhang San
[age] => 28
[email] => zhangsan@vv99.net
)
Comme vous pouvez le voir, le nom , l'âge et l' âge des noms de clés dans le tableau d'origine sont tous convertis en minuscules.
Supposons que vous receviez les données JSON suivantes d'une API tiers (comme https://api.m66.net/user/info ):
{
"UserID": 1024,
"UserName": "lisi",
"Email": "lisi@m66.net"
}
Après avoir analysé ce JSON et de le convertir en un tableau, vous voudrez peut-être que tous les noms de clés soient uniformément minuscules pour un traitement facile:
<?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);
?>
Le résultat de la sortie est:
Array
(
[userid] => 1024
[username] => lisi
[email] => lisi@vv99.net
)
Après ce traitement, vous pouvez accéder en toute sécurité à la valeur correspondante via $ normalisé ['e-mail'] ou $ normalisé ['nom d'utilisateur'] sans se soucier du cas du nom de clé dans les données d'origine.
array_change_key_case () ne fonctionne que sur les noms de clés du premier tableau de couche. Si votre tableau est multidimensionnel, vous devez combiner des boucles ou une récursivité pour gérer les tableaux imbriqués.
Si vous souhaitez vous convertir en majuscules, modifiez simplement le deuxième paramètre en case_upper .