Maison > développement back-end > Problème PHP > Comment modifier par lots les noms de clés dans les tableaux php

Comment modifier par lots les noms de clés dans les tableaux php

PHPz
Libérer: 2023-04-19 10:34:58
original
624 Les gens l'ont consulté

En PHP, un tableau est une structure de données très pratique qui peut stocker et traiter plusieurs valeurs. Cependant, dans le développement réel, nous devons souvent modifier par lots les noms de clé des tableaux. À ce stade, nous devons utiliser les fonctions liées aux tableaux pour terminer.

Ci-dessous, je vais vous présenter en détail comment modifier par lots les noms de clés de tableau en PHP. Plus précisément, nous utiliserons les fonctions suivantes :

  1. array_combine() : utilise la valeur d'un tableau comme clé du nouveau tableau, et la valeur de l'autre tableau comme valeur du nouveau tableau
  2. array_keys() ; : renvoie toutes les clés du tableau Nom de la clé ;
  3. array_values() : renvoie toutes les valeurs du tableau ;
  4. array_map() : applique la fonction spécifiée à chaque élément du tableau et renvoie un nouveau tableau ; () : s'applique à chaque élément du tableau. Les éléments se voient appliquer des fonctions définies par l'utilisateur.
  5. Maintenant, nous supposons qu'il existe un tableau $arr, qui contient plusieurs éléments, chaque élément a un nom de clé numérique. Nous voulons les convertir en noms de clés de chaîne, comme remplacer « 0 » par « pomme », remplacer « 1 » par « banane », etc. Alors, que faire ? Veuillez regarder le code ci-dessous :
$arr = array('apple', 'banana', 'orange', 'peach', 'lemon');
$key_names = array('apple', 'banana', 'orange', 'peach', 'lemon');
$new_arr = array_combine($key_names, $arr);
print_r($new_arr);
Copier après la connexion

Dans ce code, nous définissons d'abord un tableau $arr et un tableau $key_names, qui ont le même nombre d'éléments. Ensuite, nous utilisons la fonction array_combine() pour utiliser la valeur du tableau $arr comme valeur du nouveau tableau et la valeur du tableau $key_names comme clé du nouveau tableau. Enfin, nous imprimons le contenu du nouveau tableau $new_arr via la fonction print_r(), et nous pouvons voir le résultat souhaité :

Array
(
    [apple] => apple
    [banana] => banana
    [orange] => orange
    [peach] => peach
    [lemon] => lemon
)
Copier après la connexion

De cette façon, nous avons réussi à convertir le nom de la clé d'un nombre en une chaîne. Mais dans certains cas, nos besoins peuvent être plus complexes. Par exemple, nous devons convertir tous les noms de clés des lettres majuscules en lettres minuscules. À l’heure actuelle, nous pouvons utiliser les fonctions array_keys() et array_map() pour y parvenir. Le code est le suivant :

$arr = array(
    'Apple' => 'red',
    'Banana' => 'yellow',
    'Orange' => 'orange',
    'Peach' => 'pink',
    'Lemon' => 'yellow'
);

$lowercase_keys = array_map('strtolower', array_keys($arr));
$new_arr = array_combine($lowercase_keys, array_values($arr));

print_r($new_arr);
Copier après la connexion

Dans ce code, nous définissons d'abord un tableau $arr et mettons en majuscule la première lettre de son nom de clé. Ensuite, nous utilisons la fonction array_keys() pour renvoyer toutes les clés du tableau $arr. Nous utilisons ensuite la fonction array_map() pour appliquer la fonction strtolower() à chaque nom de clé, en les convertissant tous en minuscules. Enfin, nous combinons le nouveau nom de clé et la valeur du tableau $arr à l'aide de la fonction array_combine() pour former un nouveau tableau $new_arr. Utilisez la fonction print_r() pour imprimer le contenu du nouveau tableau $new_arr, et vous pourrez voir le résultat modifié :

Array
(
    [apple] => red
    [banana] => yellow
    [orange] => orange
    [peach] => pink
    [lemon] => yellow
)
Copier après la connexion

De cette façon, nous avons réussi à convertir tous les noms de clés en lettres minuscules. Il convient de noter que lors de l'utilisation de la fonction array_combine(), assurez-vous que les noms de clés et le nombre de valeurs du nouveau tableau sont égaux, sinon une erreur se produira. Ici, nous utilisons la fonction array_values() pour obtenir toutes les valeurs du tableau $arr afin de nous assurer que leur nombre est le même que le nombre du tableau $lowercase_keys.

Bien sûr, les méthodes ci-dessus sont uniquement à titre de démonstration. En utilisation réelle, vous devez choisir les fonctions et méthodes appropriées en fonction de la situation spécifique.

En plus des méthodes présentées ci-dessus, il existe également une méthode plus flexible, qui consiste à utiliser la fonction array_walk(). Cette fonction peut personnaliser la fonction de rappel pour qu'elle agisse sur chaque élément du tableau, afin de répondre à des besoins plus divers.

Ci-dessous, nous implémentons un exemple simple pour ajouter le préfixe "fruit_" à tous les noms de clés du tableau. Le code est le suivant :

$arr = array(
    'apple' => 'red',
    'banana' => 'yellow',
    'orange' => 'orange',
    'peach' => 'pink',
    'lemon' => 'yellow'
);

function add_prefix(&$value, $key, $prefix) {
    $value = $prefix . '_' . $key;
}

array_walk($arr, 'add_prefix', 'fruit');
print_r($arr);
Copier après la connexion

Dans ce code, nous définissons d'abord un tableau $arr et définissons un add_prefix(). fonction. La fonction add_prefix() a trois paramètres, qui sont la valeur sur laquelle opérer, le nom de clé de la valeur actuelle et le préfixe spécifié. À l'intérieur de la fonction, nous concaténons le nom de clé et le préfixe de la valeur actuelle pour générer un nouveau nom de clé et l'attribuons au nom de clé de la valeur actuelle. Ensuite, nous utilisons la fonction array_walk() pour appliquer la fonction add_prefix() à chaque élément du tableau $arr, et enfin imprimer le tableau modifié :

Array
(
    [fruit_apple] => red
    [fruit_banana] => yellow
    [fruit_orange] => orange
    [fruit_peach] => pink
    [fruit_lemon] => yellow
)
Copier après la connexion

De cette façon, nous avons implémenté avec succès l'opération de modification du tableau par lots noms de clés. En général, il existe de nombreuses fonctions intégrées à PHP qui peuvent fonctionner sur des tableaux, et vous pouvez choisir la méthode la plus appropriée en fonction de vos besoins réels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal