Maison > développement back-end > Problème PHP > php change le nom de la clé du tableau

php change le nom de la clé du tableau

PHPz
Libérer: 2023-05-19 19:39:37
original
1220 Les gens l'ont consulté

PHP est un langage de programmation côté serveur couramment utilisé pour créer des pages Web dynamiques. En PHP, un tableau est une structure de données très utile utilisée pour stocker un ensemble de données associées. Dans le développement réel, nous devons souvent modifier les noms clés des tableaux pour obtenir de meilleurs effets de traitement des données.

Généralement, le nom de clé d'un tableau PHP est une chaîne composée par défaut de chiffres et de lettres. Si le nom de clé du tableau est inapproprié, cela peut affecter notre utilisation du tableau. Par exemple, lorsque nous devons trier un tableau dans un ordre spécifique, des noms de clés inappropriés peuvent entraîner des problèmes avec les résultats triés.

PHP fournit une variété de méthodes pour modifier les noms de clé des tableaux. Cet article présentera certaines des méthodes les plus couramment utilisées.

Méthode 1. Utiliser la fonction array_combine()

La fonction array_combine() est utilisée pour utiliser la valeur d'un tableau comme nom de clé du nouveau tableau et la valeur de l'autre tableau comme valeur d'élément du nouveau tableau. Nous pouvons utiliser cette fonction pour changer le nom de clé du tableau.

Ce qui suit est un exemple qui montre comment utiliser la fonction array_combine() pour modifier le nom de clé d'un tableau :

$old_array = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry'
);

$new_keys = array(
    'apple', 'banana', 'cherry'
);

$new_array = array_combine($new_keys, array_values($old_array));

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

Dans cet exemple, nous définissons d'abord un tableau $old_array, où les noms de clé sont a, b, et c, et les éléments sont Les valeurs sont respectivement pomme, banane et cerise. Ensuite, nous définissons un tableau $new_keys, qui contient les nouveaux noms de clés. Enfin, nous utilisons la fonction array_combine() pour utiliser les éléments du tableau $new_keys comme clés du nouveau tableau, les éléments du tableau $old_array comme valeurs d'élément du nouveau tableau, et enregistrons les résultats dans le Tableau $new_array.

Exécutez le code ci-dessus, le résultat de sortie est le suivant :

Array
(
    [apple] => apple
    [banana] => banana
    [cherry] => cherry
)
Copier après la connexion
Copier après la connexion
Copier après la connexion

Vous pouvez voir que le nom de clé du tableau $new_array a été modifié avec succès par les éléments du tableau $new_keys.

Il convient de noter que lorsque vous utilisez la fonction array_combine() pour modifier le nom de la clé du tableau, vous devez vous assurer que le nombre d'éléments dans le tableau $new_keys est le même que le nombre d'éléments dans le tableau $old_array. Sinon, un message d'erreur « Les deux tableaux doivent avoir la même longueur » sera généré.

Méthode 2, utilisez la fonction array_flip()

La fonction array_flip() est utilisée pour échanger les clés et les valeurs du tableau. Nous pouvons utiliser cette fonction pour changer le nom de clé du tableau.

Ce qui suit est un exemple qui montre comment utiliser la fonction array_flip() pour modifier le nom de clé d'un tableau :

$old_array = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry'
);

$new_keys = array(
    'apple', 'banana', 'cherry'
);

$new_array = array_flip($old_array);

foreach ($new_array as &$value) {
    $value = $new_keys[$value];
}

$new_array = array_flip($new_array);

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

Dans cet exemple, nous définissons d'abord un tableau $old_array, où les noms de clé sont a, b, et c, et les éléments sont Les valeurs sont respectivement pomme, banane et cerise. Ensuite, nous définissons un tableau $new_keys, qui contient les nouveaux noms de clés. Ensuite, nous utilisons la fonction array_flip() pour échanger les clés et les valeurs dans le tableau $old_array. Utilisez ensuite une boucle foreach pour remplacer les valeurs du tableau échangé par les valeurs des éléments du tableau $new_keys. Enfin, utilisez la fonction array_flip() pour échanger à nouveau les clés et les valeurs du tableau échangé afin d'obtenir le nouveau tableau requis.

Exécutez le code ci-dessus, le résultat de sortie est le suivant :

Array
(
    [apple] => apple
    [banana] => banana
    [cherry] => cherry
)
Copier après la connexion
Copier après la connexion
Copier après la connexion

Vous pouvez voir que le nom de clé du tableau $new_array a été modifié avec succès par les éléments du tableau $new_keys.

Il convient de noter que lorsque vous utilisez la fonction array_flip() pour échanger les clés et les valeurs du tableau, vous devez vous assurer que la valeur dans le tableau $array est unique. Sinon, les résultats seront inexacts en raison de conflits de valeurs clés.

Méthode 3. Utilisez la fonction array_map()

La fonction array_map() est utilisée pour appliquer une fonction aux éléments d'un ou plusieurs tableaux et renvoyer le tableau traité. Nous pouvons utiliser cette fonction pour changer le nom de clé du tableau.

Ce qui suit est un exemple qui montre comment utiliser la fonction array_map() pour modifier le nom de clé d'un tableau :

$old_array = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry'
);

$new_keys = array(
    'apple', 'banana', 'cherry'
);

$new_array = array_map(function ($value) use ($old_array, $new_keys) {
    $new_key = array_search($value, $old_array);
    $new_key = $new_keys[$new_key];
    return array($new_key => $value);
}, $old_array);

$new_array = array_reduce($new_array, 'array_merge', array());

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

Dans cet exemple, nous définissons d'abord un tableau $old_array, où les noms de clé sont a, b, et c, et les éléments sont Les valeurs sont respectivement pomme, banane et cerise. Ensuite, nous définissons un tableau $new_keys, qui contient les nouveaux noms de clés. Ensuite, nous utilisons la fonction array_map() pour appliquer une fonction anonyme à chaque élément du tableau $old_array. La fonction de la fonction anonyme est de remplacer le nom de clé de l'élément par la valeur de l'élément correspondant dans le tableau $new_keys et d'enregistrer le résultat dans un nouveau tableau. Enfin, nous utilisons la fonction array_reduce() pour combiner tous les nouveaux tableaux générés dans un nouveau tableau.

Exécutez le code ci-dessus, le résultat de sortie est le suivant :

Array
(
    [apple] => apple
    [banana] => banana
    [cherry] => cherry
)
Copier après la connexion
Copier après la connexion
Copier après la connexion

Vous pouvez voir que le nom de clé du tableau $new_array a été modifié avec succès par les éléments du tableau $new_keys.

Il convient de noter que lors de l'utilisation de la fonction array_map() pour modifier le nom de clé du tableau, nous devons fusionner les tableaux deux fois, ce qui peut affecter les performances. Par conséquent, il est recommandé d'utiliser cette méthode uniquement lorsque vous travaillez avec de petits tableaux.

Résumé

Cet article présente trois méthodes couramment utilisées pour modifier les noms de clé des tableaux PHP, notamment l'utilisation de la fonction array_combine(), de la fonction array_flip() et de la fonction array_map(). Chaque méthode a ses propres avantages et inconvénients, et vous devez choisir en fonction de la situation spécifique lors de son utilisation. Il convient de noter que lors de la modification du nom de clé du tableau, nous devons nous demander si les éléments du tableau sont uniques et si le nouveau nom de clé est approprié pour éviter d'affecter l'utilisation du tableau.

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