En PHP, lors du traitement des tableaux, vous rencontrez souvent des situations où les noms de clés sont incohérents ou nécessitent un format unifié. array_change_key_case () est une fonction très pratique qui nous permet de convertir rapidement tous les noms de clés d'un tableau en majuscules ou en minuscules. Array_combine () peut recombiner deux tableaux dans un nouveau tableau correspondant à une valeur clé.
Cet article présentera comment combiner ces deux fonctions non seulement pour unifier le cas des noms de clés, mais également réorganiser la structure du tableau.
Cette fonction est utilisée pour convertir tous les noms de clés d'un tableau en minuscules ou en majuscules.
array_change_key_case(array $array, int $case = CASE_LOWER): array
$ Array : le tableau à traiter.
$ CASE : CASE Target, la valeur facultative est case_lower (par défaut) ou case_upper .
Utilisé pour combiner deux nombres dans un tableau, l'un comme nom de clé et l'autre comme valeur correspondante.
array_combine(array $keys, array $values): array
$ Keys : sera le nom clé du nouveau tableau.
$ VALEURS : sera la valeur du nouveau tableau.
Remarque: les deux tableaux doivent avoir le même nombre d'éléments.
Supposons que nous ayons deux tableaux: l'un est un tableau de noms de clés et l'autre est un tableau de valeurs. Nous voulons unifier le nom de clé en minuscules, puis le combiner avec la valeur et dans un nouveau tableau.
<?php
// Tableau original de noms de clés(Mixage de cas)
$keys = ['Name', 'EMAIL', 'Age'];
// Tableau de valeur correspondant
$values = ['Alice', 'alice@m66.net', 30];
// Convertir les noms de clés en minuscules
$lowercaseKeys = array_change_key_case(array_combine($keys, $values), CASE_LOWER);
// Tableau de sortie traité
print_r($lowercaseKeys);
Array
(
[name] => Alice
[email] => alice@m66.net
[age] => 30
)
Unity : Dans de nombreux cas, les noms de clés de tableau renvoyés par l'interface peuvent ne pas être uniformes (par exemple, certains sont minuscules et certains sont majuscules). L'utilisation de Array_Change_Key_Case () peut améliorer la cohérence du traitement des données.
LICIBILITÉ : Le format unifié rend le code plus facile à lire et réduit les coûts de maintenance.
Sécurité : certaines fonctions ou bibliothèques sont sensibles aux noms de clés lors du traitement des tableaux, et un cas incohérent peut entraîner des erreurs inattendues.
array_change_key_case () ne fonctionne que sur des tableaux unidimensionnels, et un traitement récursivement est requis.
Assurez-vous que les deux tableaux sont de la même longueur avant d'utiliser Array_Combine () , sinon Faux sera retourné.
Si vous avez déjà un tableau de paire de valeurs de clé, il vous suffit d'unifier le cas du nom de clé, utilisez simplement array_change_key_case () , pas besoin de Array_Combine () .
Un scénario d'application pratique est les données de formulaire soumises par un utilisateur, et ses noms de champ peuvent être incohérents en raison d'une entrée manuelle. Nous pouvons d'abord extraire le tableau de nom de champ et le tableau de valeur correspondant, puis le stocker ou le vérifier après le format de nom de clé.
<?php
// Assumer les champs et les valeurs d'un formulaire
$formKeys = ['UserName', 'EMail', 'Phone'];
$formValues = ['bob', 'bob@m66.net', '123456789'];
// Combiner et unifier les noms de clés
$processedForm = array_change_key_case(array_combine($formKeys, $formValues), CASE_LOWER);
// résultat
print_r($processedForm);
En combinant array_change_key_case () et array_combine () , nous pouvons compléter gracieusement l'uniformité du format des noms de clés du tableau et la réorganisation des structures de données. Cette méthode est très utile pour gérer l'entrée de données externes, la conversion de réponse d'interface, la normalisation du tableau et d'autres scénarios. La maîtrise de cette technique peut considérablement améliorer vos capacités de fonctionnement PHP.