Dans les opérations du tableau PHP, le cas des noms clés affecte parfois les résultats du traitement des données. Afin d'unifier le format des noms de clés du tableau, PHP offre une fonction très pratique: array_change_key_case () . Cette fonction peut convertir tous les noms de clés du tableau en majuscules ou en minuscules, particulièrement adaptés au nettoyage des données, à la normalisation et à d'autres scénarios.
array_change_key_case(array $array, int $case = CASE_LOWER): array
$ Array : requis. Le tableau d'entrée à traiter.
$ cas : facultatif. Le type de cas de la conversion. La valeur par défaut est Case_Lower (convertir en bas de cas) ou case_upper (convertir en haut du boîtier).
Voici un exemple simple montrant comment convertir les noms de clés du tableau en minuscules et en majuscules à l'aide d'Array_Change_Key_Case () .
<?php
$data = [
"Name" => "Alice",
"EMAIL" => "alice@m66.net",
"Age" => 25
];
// Convertir en minuscules nom
$lowercaseKeys = array_change_key_case($data, CASE_LOWER);
print_r($lowercaseKeys);
/* Sortir:
Array
(
[name] => Alice
[email] => alice@vv99.net
[age] => 25
)
*/
// Convertir en nom de clé de capital
$uppercaseKeys = array_change_key_case($data, CASE_UPPER);
print_r($uppercaseKeys);
/* Sortir:
Array
(
[NAME] => Alice
[EMAIL] => alice@vv99.net
[AGE] => 25
)
*/
?>
La valeur de clé reste inchangée : array_change_key_case () ne modifie que le cas du nom de clé et n'affectera pas la valeur du tableau.
Conflit du nom de la clé : si un nom de clé en double est généré après la conversion (par exemple, "Email" et "Email" existent), la touche suivante écrasera la précédente.
Applicable uniquement aux noms de clé de chaîne : les noms de touches numériques ne seront pas affectés.
Supposons que vous obteniez des données utilisateur d'une API et que les noms clés du résultat renvoyé sont un format incohérent:
$response = [
"User_ID" => 101,
"user_name" => "Bob",
"EMAIL" => "bob@m66.net"
];
Pour un traitement facile, vous devrez peut-être avoir un nom de clé unifié en minuscules:
$cleanedResponse = array_change_key_case($response, CASE_LOWER);
Les noms de clés unifiés peuvent réduire la possibilité d'erreurs lors du traitement des données, en particulier lors de l'utilisation de fonctions telles que Array_key_Exists () et ISSet () .