Maison  >  Article  >  développement back-end  >  Comment changer la valeur clé d'un tableau en php

Comment changer la valeur clé d'un tableau en php

PHPz
PHPzoriginal
2023-04-27 09:11:22904parcourir

En développement PHP, il est souvent nécessaire d'opérer sur des tableaux. La valeur clé (également appelée index) dans le tableau est très importante. Parfois, nous devons modifier certaines valeurs clés du tableau pour répondre aux besoins de l'entreprise. Ensuite, je présenterai quelques méthodes pour modifier la valeur clé du tableau PHP.

1. Utilisez la fonction array_combine()

La fonction array_combine() peut combiner deux tableaux en un seul tableau. La valeur clé du premier tableau sera utilisée comme index du nouveau tableau, et la valeur du deuxième tableau sera. utilisé comme index du nouvel élément du tableau. Nous pouvons l'utiliser pour modifier les valeurs clés du tableau.

Supposons que nous ayons le tableau suivant :

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

Maintenant, nous voulons changer la valeur clé de a en aa, vous pouvez utiliser le code suivant :

$new_key = array('a' => 'aa');
$new_array = array_combine(array_replace(array_keys($old_array), $new_key), $old_array);

Ici, nous définissons un nouveau tableau $new_key, la valeur clé a à être modifié et la nouvelle valeur clé aa est transmise. Ensuite, nous utilisons la fonction array_replace() pour extraire la valeur clé a à modifier, puis la passons dans la fonction array_combine(), et enfin renvoyons un nouveau tableau $new_array.

2. Utilisez la fonction array_map()

La fonction array_map() peut transmettre chaque élément du tableau à la fonction de rappel spécifiée pour le traitement et renvoyer un nouveau tableau. Nous pouvons définir une simple fonction de rappel pour modifier la valeur de la clé du tableau.

Supposons que nous ayons le tableau suivant :

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

Maintenant, nous voulons changer la valeur clé de b en bb, nous pouvons utiliser le code suivant :

$new_array = array_map(function($key, $value) use ($old_array){
    if($key == 'b'){
        return array('bb' => $value);
    } else {
        return array($key => $value);
    }
}, array_keys($old_array), $old_array);
$new_array = array_merge(...$new_array);

Ici, nous utilisons une fonction anonyme comme fonction de rappel du array_map( ) fonction. Dans cette fonction anonyme, nous déterminons d'abord si la valeur clé de l'élément actuel est égale à « b ». Si égal, changez sa valeur de clé en « bb » et renvoyez l'élément actuel sous forme de tableau.

Enfin, nous utilisons la fonction array_merge() pour fusionner les tableaux renvoyés dans un nouveau tableau.

3. Utilisez la fonction array_walk()

La fonction array_walk() peut opérer sur chaque élément du tableau et renvoyer un nouveau tableau. En remplaçant cette fonction, nous pouvons modifier la valeur clé des éléments du tableau.

De même, nous supposons que nous avons le tableau suivant :

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

Maintenant, nous voulons changer la valeur clé de c en cc, nous pouvons utiliser le code suivant :

$new_array = array();
array_walk($old_array, function($value, $key) use ($old_array, &$new_array){
    if($key == 'c'){
        $new_array['cc'] = $value;
    } else {
        $new_array[$key] = $value;
    }
});

Dans cet exemple, nous définissons un tableau vide $new_array pour enregistrer le tableau modifié. Grâce à la fonction array_walk(), nous parcourons chaque élément du tableau d'origine $old_array.

Dans la fonction de rappel, nous déterminons d'abord si la valeur clé de l'élément actuel est égale à « c ». S'il est égal, changez sa valeur de clé en « cc » et ajoutez-la au nouveau tableau $new_array. Sinon, l'élément actuel est ajouté directement au nouveau tableau $new_array.

Enfin, nous obtenons un nouveau tableau $new_array, dont la valeur clé c a été modifiée en cc.

Résumé

Ci-dessus sont trois façons de modifier la valeur clé d'un tableau PHP. Dans le développement réel, nous pouvons choisir la méthode qui nous convient le mieux en fonction de nos besoins. Que vous utilisiez la fonction array_combine(), array_map() ou array_walk(), vous pouvez facilement modifier la valeur de la clé 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!

Déclaration:
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