Maison > développement back-end > Problème PHP > Comment convertir la valeur clé dans un tableau php

Comment convertir la valeur clé dans un tableau php

PHPz
Libérer: 2023-04-17 16:07:18
original
1187 Les gens l'ont consulté

PHP est un langage de programmation orienté objet qui offre une puissante capacité de traitement de tableaux. Dans le développement réel, nous rencontrons souvent des situations dans lesquelles nous devons ajuster les tableaux. L'une des exigences courantes est de convertir les clés du tableau. Cet article présentera comment convertir des clés dans des tableaux PHP et expliquera en détail aux lecteurs les problèmes auxquels il faut prêter attention au cours du processus.

1. Utilisez la fonction array_combine()

La fonction array_combine() est une fonction en PHP utilisée pour fusionner deux tableaux et générer un nouveau tableau. L'utilisation est la suivante :

array_combine(array $keys, array $values) : array

Le premier paramètre $keys de cette fonction est un tableau, qui représente le nom de clé du nouveau tableau $values ; ​est également un array , qui représente la valeur clé du nouveau tableau. Leur nombre d'éléments doit être égal, sinon false sera renvoyé.

L'ordre des éléments dans les tableaux $keys et $values ​​​​doit correspondre un à un. Par exemple, le premier élément du tableau $keys correspond au premier élément du tableau $values.

Ce qui suit est un exemple qui convertit un tableau $name avec un nombre en indice en un tableau $new_name avec une chaîne en indice :

$name = array('0' => 'Alice', '1' => 'Bob', '2' => 'Carol');
$new_name = array_combine(array('a', 'b', 'c'), $name);
print_r($new_name);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [a] => Alice
    [b] => Bob
    [c] => Carol
)
Copier après la connexion

Dans cet exemple, le tableau $name Les indices numériques sont convertis en indices de chaîne, tandis que les valeurs du tableau restent inchangées. C'est parce que nous avons utilisé la fonction array_combine() et lui avons donné de nouveaux noms de clés.

2. Utilisez la fonction array_flip()

La fonction array_flip() est une fonction en PHP utilisée pour échanger des clés et des valeurs dans un tableau. L'utilisation est la suivante :

array_flip(array $trans) : array

Le paramètre $trans de cette fonction est un tableau, qui représente le tableau échangé. Il renverra un nouveau tableau, où les clés du tableau d'origine deviendront les valeurs du nouveau tableau, et les valeurs du tableau d'origine deviendront les clés du nouveau tableau.

Ce qui suit est un exemple qui convertit un tableau $age avec un nombre en indice en un tableau $info avec une valeur d'âge en indice :

$age = array('Alice' => 25, 'Bob' => 35, 'Carol' => 30);
$info = array_flip($age);
print_r($info);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [25] => Alice
    [35] => Bob
    [30] => Carol
)
Copier après la connexion

Dans cet exemple, le $age Les indices de chaîne du tableau sont convertis en indices numériques, tandis que les valeurs du tableau restent inchangées. C'est parce que nous avons utilisé la fonction array_flip() et lui avons passé le tableau $age.

Il convient de noter que s'il y a des valeurs en double dans le tableau d'origine, les clés converties écraseront les clés précédentes. Par conséquent, lorsque vous utilisez la fonction array_flip(), vous devez vous assurer que les valeurs du tableau d'origine sont uniques.

3. Utilisez la fonction array_map()

La fonction array_map() est une fonction en PHP utilisée pour appliquer une fonction de rappel à chaque élément d'un tableau. L'utilisation est la suivante :

array_map(callable $callback, array ...$arrays) : array

Le premier paramètre de cette fonction, $callback, est une fonction de rappel qui sera appliquée à chaque élément du tableau. Le tableau après le deuxième paramètre est le tableau qui doit être exploité. Leur nombre d'éléments peut ne pas être égal. Cette fonction générera un nouveau tableau dont chaque élément est la valeur de retour de la fonction $callback.

Ce qui suit est un exemple qui convertit un tableau $price avec un indice numérique en un tableau $actual_price avec un indice à virgule flottante :

$price = array('Alice' => 10, 'Bob' => 15.5, 'Carol' => 20);
$actual_price = array_map(function($p) { return round($p * 0.8, 2); }, $price);
print_r($actual_price);
Copier après la connexion

Le résultat est :

Array
(
    [Alice] => 8.00
    [Bob] => 12.40
    [Carol] => 16.00
)
Copier après la connexion

Dans cet exemple, nous utilisons la fonction array_map() et transmettons une fonction de rappel. Cette fonction multiplie chaque valeur de prix par 0,8 et arrondit à deux décimales, puis renvoie une nouvelle valeur de prix. Enfin, nous obtenons un nouveau tableau $actual_price, dans lequel l'indice devient le nom de la personne et la valeur dans le tableau est le prix réel calculé.

Il est à noter que la fonction $callback doit renvoyer une valeur, sinon un avertissement sera généré.

4. Utilisez la boucle foreach

En plus des fonctions ci-dessus, vous pouvez également convertir manuellement les clés du tableau en utilisant une boucle foreach. Voici un exemple qui convertit un tableau $id avec un indice numérique en un tableau $name_id avec un indice de chaîne :

$id = array(1001, 1002, 1003);
$name = array('Alice', 'Bob', 'Carol');
$name_id = array();
foreach($id as $i => $val) {
    $name_id[$name[$i]] = $val;
}
print_r($name_id);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [Alice] => 1001
    [Bob] => 1002
    [Carol] => 1003
)
Copier après la connexion

Dans cet exemple, nous utilisons une boucle foreach, et le tableau est transformé dans la boucle. Plus précisément, nous parcourons chaque élément du tableau $id et utilisons l'indice de l'élément pour récupérer la valeur correspondante du tableau $name. Nous ajoutons ensuite cette nouvelle paire clé-valeur au tableau $name_id.

Il est à noter que lors de l'utilisation d'une boucle foreach, si vous souhaitez modifier les éléments du tableau, vous devez utiliser une référence au tableau.

5. Résumé

Cet article présente comment convertir des clés dans des tableaux PHP, y compris les méthodes utilisant la fonction array_combine(), la fonction array_flip(), la fonction array_map() et la boucle foreach. Chacune de ces méthodes présente des caractéristiques différentes et différentes méthodes peuvent être sélectionnées en fonction des besoins réels.

Lors de l'utilisation de ces méthodes, il est important de noter que le nouveau nom de clé doit être unique et que différentes méthodes peuvent produire des résultats différents. Par conséquent, vous devez réfléchir attentivement et choisir une méthode appropriée lors de la conversion des clés d'un 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