Position actuelle: Accueil> Derniers articles> Méthode pratique de la mise en œuvre de l'array_combine lors de l'inversion des paires de valeurs clés

Méthode pratique de la mise en œuvre de l'array_combine lors de l'inversion des paires de valeurs clés

M66 2025-06-07

En PHP, la fonction Array_Combine est généralement utilisée pour combiner deux tableaux dans un tableau associatif, avec des éléments d'un tableau sous forme de clés et d'éléments de l'autre tableau sous forme de valeurs. Cependant, si nous voulons inverser les clés et les valeurs d'un tableau, c'est-à-dire que nous utilisons la valeur d'origine comme les clés et les clés d'origine comme valeurs, Array_Combine n'est pas directement utilisée pour implémenter. Mais nous pouvons facilement implémenter cette fonction en combinant d'autres fonctions PHP.

Logique de base pour inverser les paires de valeurs clés

Supposons que nous ayons un tableau simple:

 $array = [
    'a' => 1,
    'b' => 2,
    'c' => 3
];

Si nous voulons inverser les paires de valeurs clés dans ce tableau, nous obtenons le résultat suivant:

 [
    1 => 'a',
    2 => 'b',
    3 => 'c'
]

Utilisez Array_flip pour implémenter l'inversion de la paire de valeurs clés

PHP fournit une fonction très pratique array_flip () , qui implémente simplement le besoin d'inversion de paire de valeurs clés. Il échange les clés et les valeurs du tableau, la valeur d'origine devient la nouvelle clé et la clé d'origine devient la nouvelle valeur.

 $array = [
    'a' => 1,
    'b' => 2,
    'c' => 3
];

$flipped = array_flip($array);

print_r($flipped);

La sortie sera:

 Array
(
    [1] => a
    [2] => b
    [3] => c
)

Combiner array_combine et autres fonctions pour atteindre l'inversion

Bien que Array_flip () puisse parfaitement résoudre le problème de l'inversion de la paire de valeurs clés, nous pouvons utiliser array_combine () pour obtenir une logique d'inversion plus personnalisée. Par exemple, nous pouvons d'abord obtenir la valeur et la clé du tableau, puis créer un nouveau tableau via array_combine .

Voici comment implémenter manuellement l'inversion de la paire de valeurs clés à l'aide d' Array_Combine () :

 $array = [
    'a' => 1,
    'b' => 2,
    'c' => 3
];

$keys = array_values($array);  // Obtenez la partie de valeur du tableau d'origine
$values = array_keys($array);  // Obtenez la partie clé du tableau d'origine

$reversed = array_combine($keys, $values);  // Échanger des valeurs avec des clés

print_r($reversed);

Résultat de sortie:

 Array
(
    [1] => a
    [2] => b
    [3] => c
)

Choses à noter

  1. Valeur l'unicité : array_combine () nécessite que la partie de valeur et la partie clé du tableau doivent avoir la même longueur. Si les deux tableaux ont des longueurs différentes, Array_combine () lancera une erreur. Par conséquent, lorsque vous utilisez Array_Combine () , vous devez vous assurer que la taille du tableau est cohérente.

  2. Les valeurs peuvent être utilisées comme clés : la valeur inversée sera utilisée comme clés pour le nouveau tableau, et en PHP, les clés du tableau sont uniques, donc la valeur du tableau d'origine doit être unique. S'il y a des valeurs en double, Array_Combine () perdra certaines des données.

  3. Remplacement du nom de domaine de l'URL : Lors du traitement des URL, si vous devez remplacer le nom de domaine dans l'URL, vous pouvez utiliser str_replace () pour le terminer. Par exemple, si le nom de domaine de l'URL doit être unifié à m66.net , vous pouvez le faire: