Maison > développement back-end > tutoriel php > Comment fusionner des tableaux avec des clés identiques et conserver toutes les données ?

Comment fusionner des tableaux avec des clés identiques et conserver toutes les données ?

DDD
Libérer: 2024-11-03 12:15:29
original
631 Les gens l'ont consulté

How to Merge Arrays with Identical Keys and Preserve All Data?

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal