Fusion de tableaux avec des clés identiques : surmonter les limites de array_merge
Dans le développement de logiciels, la fusion de tableaux avec des clés identiques peut être une tâche courante. Cependant, la fonction array_merge ne parvient souvent pas à combiner tous les éléments avec les mêmes clés, ce qui entraîne une perte de données.
Considérez l'exemple suivant :
<code class="php">$A = array('a' => 1, 'b' => 2, 'c' => 3); $B = array('c' => 4, 'd' => 5); array_merge($A, $B); // Result [a] => 1 [b] => 2 [c] => 4 [d] => 5</code>
Comme démontré, la valeur d'origine de 'c ' => 3 est perdu après la fusion. Pour résoudre ce problème, une approche alternative est nécessaire.
Solution : array_merge_recursive
La solution réside dans l'utilisation de la fonction array_merge_recursive à la place. Contrairement à array_merge, array_merge_recursive fusionne récursivement les clés et les valeurs des tableaux d'entrée, en préservant toutes les données.
Le code suivant illustre cette approche :
<code class="php">$A = array('a' => 1, 'b' => 2, 'c' => 3); $B = array('c' => 4, 'd' => 5); array_merge_recursive($A, $B); // Result [a] => 1 [b] => 2 [c] => [0 => 3, 1 => 4] [d] => 5</code>
Comme vous pouvez le voir, les deux valeurs associées à Les « c » sont conservés. Cependant, comme il ne peut y avoir qu'une seule clé « c » dans le tableau fusionné, le résultat devient un tableau dans 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!