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.
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'
]
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
)
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
)
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.
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.
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: