Maison  >  Article  >  développement back-end  >  Comment échanger les clés et les valeurs d'un tableau en php

Comment échanger les clés et les valeurs d'un tableau en php

PHPz
PHPzoriginal
2023-04-18 09:06:381813parcourir

En PHP, il est parfois nécessaire d'échanger les clés et les valeurs du tableau. Par exemple, convertissez un tableau avec des nombres comme clés en un tableau associatif avec des valeurs comme clés. Les débutants peuvent penser que c'est difficile à mettre en œuvre, mais en fait, PHP fournit un moyen très simple de réaliser cette fonction. Dans cet article, nous apprendrons comment transposer les clés et les valeurs d'un tableau à l'aide de PHP.

Méthode 1 : Utilisez la fonction array_flip

En PHP, vous pouvez utiliser la fonction array_flip pour échanger les clés et les valeurs du tableau. Cette fonction prend un tableau en entrée et renvoie un nouveau tableau avec les valeurs d'origine comme clés et les clés d'origine comme valeurs. Par exemple :

$numbers = array(1, 2, 3, 4, 5);
$flipped_numbers = array_flip($numbers);

print_r($flipped_numbers);

// Output:
// Array
// (
//     [1] => 0
//     [2] => 1
//     [3] => 2
//     [4] => 3
//     [5] => 4
// )

Dans l'exemple ci-dessus, nous transmettons un tableau saisi par des nombres à la fonction array_flip et enregistrons le résultat renvoyé dans la variable $flipped_numbers. Cette fonction prend les valeurs du tableau d'origine comme clés du nouveau tableau et les clés du tableau d'origine comme valeurs du nouveau tableau. Par conséquent, les clés du tableau $flipped_numbers sont les nombres de 1 à 5 et les valeurs sont les clés du tableau d'origine.

Veuillez noter que s'il y a plusieurs valeurs identiques dans le tableau d'origine, une erreur sera signalée lors de l'appel de la fonction array_flip, car la même valeur ne peut pas être la clé du nouveau tableau en même temps.

Méthode 2 : Utiliser la boucle foreach

En plus d'utiliser la fonction array_flip, nous pouvons également utiliser la boucle foreach pour échanger les clés et les valeurs du tableau. Cette approche nécessite une itération sur le tableau d'origine et l'utilisation d'un nouveau tableau associatif pour contenir les résultats. Dans chaque boucle, utilisez les clés du tableau d'origine comme valeurs du nouveau tableau et les valeurs du tableau d'origine comme clés du nouveau tableau. Par exemple :

$numbers = array(1, 2, 3, 4, 5);
$flipped_numbers = array();

foreach ($numbers as $key => $value) {
    $flipped_numbers[$value] = $key;
}

print_r($flipped_numbers);

// Output:
// Array
// (
//     [1] => 0
//     [2] => 1
//     [3] => 2
//     [4] => 3
//     [5] => 4
// )

Dans l'exemple ci-dessus, nous définissons d'abord un tableau associatif vide $flipped_numbers. Nous utilisons ensuite une boucle foreach pour parcourir les $numbers du tableau d'origine. Dans chaque boucle, nous enregistrons la clé du tableau d'origine (c'est-à-dire l'index) dans la variable $value et la valeur du tableau d'origine (c'est-à-dire le nombre) dans la variable $key. Ensuite, nous utilisons $key comme clé du nouveau tableau $flipped_numbers et $value comme valeur du nouveau tableau. Ainsi, les clés du tableau $flipped_numbers sont les nombres de 1 à 5 et les valeurs sont les clés du tableau d'origine.

Veuillez noter que lorsque vous utilisez une boucle foreach, vous devez vous assurer que les valeurs du tableau d'origine sont uniques, sinon la même clé se produira, ce qui se produira également lors de l'utilisation de la fonction array_flip.

Résumé

Dans cet article, nous avons appris deux façons de transposer les clés et les valeurs d'un tableau à l'aide de PHP. La première consiste à utiliser la fonction array_flip qui utilise les valeurs du tableau d'origine comme clés du nouveau tableau et les clés du tableau d'origine comme valeurs du nouveau tableau. La deuxième méthode consiste à utiliser une boucle foreach, à parcourir le tableau d'origine, à échanger les clés et les valeurs du tableau d'origine et à l'enregistrer dans un nouveau tableau associatif. En fonction du scénario d'utilisation, vous pouvez choisir en toute flexibilité entre ces deux méthodes. Il convient de noter que s'il existe des valeurs en double dans le tableau d'origine, vous ne pouvez pas utiliser ces deux méthodes pour échanger les clés et les valeurs du tableau d'origine.

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