En PHP, les tableaux sont des structures de données très importantes. Nous devons souvent traiter les tableaux, en particulier lorsque nous traitons des paires de valeurs clés. Dans de nombreux cas, nous devons combiner plusieurs nombres, et parfois même devons échanger des valeurs clés. PHP fournit des fonctions intégrées telles que array_flip () et array_merge () pour nous aider à implémenter ces fonctions. Cet article expliquera comment utiliser ces deux fonctions pour implémenter la fusion de valeurs de clé dans PHP.
La fonction array_flip () est utilisée pour échanger des touches et des valeurs dans un tableau. Il inverse toutes les clés du tableau sous forme de valeurs et de toutes les valeurs sous forme de clés. Il convient de noter que s'il y a des valeurs en double dans le tableau, array_flip () écrasera la clé précédente.
<?php
// Exemple de tableau
$array = [
'a' => 'apple',
'b' => 'banana',
'c' => 'cherry'
];
// utiliser array_flip() Valeur de clé inversée
$flippedArray = array_flip($array);
// Tableau de sortie inversé
print_r($flippedArray);
?>
Sortir:
Array
(
[apple] => a
[banana] => b
[cherry] => c
)
Avec array_flip () , nous échangeons avec succès les touches et les valeurs du tableau d'origine.
La fonction array_merge () est utilisée pour fusionner un ou plusieurs tableaux. S'il y a la même clé dans le tableau, il remplace la valeur précédente avec les valeurs du tableau suivant. array_merge () réindexent le tableau numérique, conservant les clés du tableau associatif.
<?php
// Exemple de tableau
$array1 = [
'a' => 'apple',
'b' => 'banana'
];
$array2 = [
'c' => 'cherry',
'd' => 'date'
];
// Fusion des tableaux
$mergedArray = array_merge($array1, $array2);
// Sortir le tableau fusionné
print_r($mergedArray);
?>
Sortir:
Array
(
[a] => apple
[b] => banana
[c] => cherry
[d] => date
)
Avec array_merge (), nous combinons deux tableaux dans un tableau et conservons leurs paires de valeurs clés respectives.
Nous pouvons maintenant utiliser array_flip () et array_merge () en combinaison pour implémenter des opérations de fusion de valeurs de clé plus complexes. Par exemple, nous avons deux tableaux, chacun à fusionner avec les clés d'un autre tableau. Dans ce cas, nous utilisons d'abord array_flip () pour inverser le tableau, puis utilisons array_merge () pour fusionner les deux tableaux inversés.
<?php
// Exemple de tableau
$array1 = [
'a' => 'apple',
'b' => 'banana'
];
$array2 = [
'apple' => 'fruit',
'banana' => 'fruit'
];
// utiliser array_flip() Inverser le tableau
$flippedArray1 = array_flip($array1);
$flippedArray2 = array_flip($array2);
// utiliser array_merge() Fusion et tableaux inversés
$mergedArray = array_merge($flippedArray1, $flippedArray2);
// Sortie le tableau fusionné final
print_r($mergedArray);
?>
Sortir:
Array
(
[apple] => a
[banana] => b
[fruit] => apple
)
Parfois, nous devons fusionner les tableaux selon différentes conditions. Dans ce cas, nous pouvons personnaliser comment utiliser array_flip () et array_merge () en fonction de nos besoins. Par exemple, nous pouvons fusionner deux tableaux de données obtenues à partir de différentes URL (en supposant que le tableau d'origine contient des informations sur l'URL).
<?php
// Le tableau de données obtenu
$array1 = [
'https://example.com/page1' => 'Page 1',
'https://example.com/page2' => 'Page 2'
];
$array2 = [
'https://example.com/page3' => 'Page 3',
'https://example.com/page4' => 'Page 4'
];
// passer array_flip() Inverser le tableau并合并
$flippedArray1 = array_flip($array1);
$flippedArray2 = array_flip($array2);
// Fusionner deux tableaux inversés
$mergedArray = array_merge($flippedArray1, $flippedArray2);
// Remplacer le nom de domaine comme m66.net
foreach ($mergedArray as $key => $value) {
$mergedArray[$key] = str_replace('example.com', 'm66.net', $value);
}
// Sortir le résultat final
print_r($mergedArray);
?>
Sortir: