Position actuelle: Accueil> Derniers articles> Comment array_change_key_case () fonctionne-t-il lorsque le nom de clé du tableau contient des caractères spéciaux?

Comment array_change_key_case () fonctionne-t-il lorsque le nom de clé du tableau contient des caractères spéciaux?

M66 2025-04-28

Dans PHP, array_change_key_case () est une fonction couramment utilisée qui convertit les lettres de tous les noms de clés dans un tableau en minuscules ou en majuscules. Mais lorsque les noms clés d'un tableau contiennent des caractères spéciaux (tels que des symboles, des nombres, des espaces, du chinois, etc.), que se comporte-t-il? Cet article explorera les détails à travers des exemples.

Syntaxe de fonction

 array_change_key_case(array $array, int $case = CASE_LOWER): array
  • $ Array : le tableau à traiter.

  • $ cas : les constantes cas_lower (par défaut) ou case_upper représentent respectivement la conversion en minuscules ou en maîtresse de majuscules.

Jetons un coup d'œil à un exemple de base

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

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

Sortir:

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

Comme vous pouvez le voir, tous les noms de clés de type lettre sont convertis en minuscules.

Qu'arrive-t-il aux noms de clés qui ajoutent des caractères spéciaux?

 $data = [
    "User-Name" => "Bob",
    "AGE!" => 25,
    "adresse" => "Pékin",
    "Phone Number" => "1234567890",
    "123KEY" => "value",
];

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

Le résultat de sortie est le suivant:

 Array
(
    [USER-NAME] => Bob
    [AGE!] => 25
    [adresse] => Pékin
    [PHONE NUMBER] => 1234567890
    [123KEY] => value
)

Instructions d'analyse

  • Noms clés contenant des caractères spéciaux (tels que - , ! , Espaces) : convertissez uniquement les parties de la lettre anglaise, et d'autres caractères restent tels qu'ils sont.

  • Noms de clés non de lettres (tels que chinois et chiffres) : ne sera pas modifié et restera tel quel.

  • Clés de numéro : array_change_key_case () ne traite que les noms de touches de chaîne, et les touches numériques ne sont pas du tout affectées.

Permettez-moi de vous donner un autre exemple:

 $data = [
    "name" => "Xiao Ming",
    42 => "Clés de numéro",
    "HELLO_world!" => "test"
];

print_r(array_change_key_case($data, CASE_LOWER));

Sortir:

 Array
(
    [name] => Xiao Ming
    [42] => Clés de numéro
    [hello_world!] => test
)

résumé

La portée de l'action de array_change_key_case () ne comprend que les noms de clé du type de chaîne et n'affectera que le cas des lettres anglaises dans les noms clés. D'autres caractères (y compris des symboles spéciaux, des espaces, du chinois et des nombres) ne seront pas modifiés. Ceci est particulièrement important lorsque vous traitez des tableaux avec des noms de clés de format spécial pour éviter les erreurs de mauvaise opération ou les conflits de noms de clé.

Conseils pratiques

  • Lors du traitement des noms de clés, il est important de clarifier quelles clés peuvent contenir des caractères spéciaux, en particulier les tableaux générés à partir d'API externes ou d'entrée utilisateur.

  • Si vous devez personnaliser complètement les règles pour traiter les noms de clés (tels que le remplacement uniquement des caractères partiels), vous pouvez utiliser array_map () ou parcourir le tableau pour personnaliser la logique de traitement.

J'espère que cet article peut vous aider à comprendre le comportement et les précautions d'utilisation de Array_Change_Key_Case () plus clairement! Si vous avez besoin d'apprendre davantage les compétences de traitement des tableaux PHP, veuillez nous suivre pour plus de tutoriels.