Maison  >  Article  >  développement back-end  >  Comment fusionner des tableaux avec des clés correspondantes sans perdre de données ?

Comment fusionner des tableaux avec des clés correspondantes sans perdre de données ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-04 03:20:30354parcourir

How to Merge Arrays with Matching Keys Without Losing Data?

Fusionner des tableaux avec des clés correspondantes de manière récursive

Dans le développement de logiciels, il est courant de combiner des tableaux pour consolider des données. Cependant, la fusion de tableaux avec des clés identiques peut poser un défi. La fonction array_merge() fusionne les tableaux en écrasant les valeurs avec la même clé, ce qui risque de perdre des données.

Considérez l'exemple suivant :

$A = ['a' => 1, 'b' => 2, 'c' => 3];
$B = ['c' => 4, 'd' => 5];

array_merge($A, $B);

// Result:
['a'] => 1
['b'] => 2
['c'] => 4
['d'] => 5

Comme vous pouvez le voir, la valeur de la clé 'c ' est écrasé, entraînant la perte de la valeur 3. Pour résoudre ce problème, vous pouvez utiliser la fonction array_merge_recursive() à la place.

$A = ['a' => 1, 'b' => 2, 'c' => 3];
$B = ['c' => 4, 'd' => 5];

array_merge_recursive($A, $B);

// Result:
['a'] => 1
['b'] => 2
['c'] => [3, 4]
['d'] => 5

array_merge_recursive() fusionne les tableaux de manière récursive, en combinant les valeurs avec la même clé dans un tableau. Dans ce cas, le tableau résultant contient toutes les valeurs associées à la clé « c » ([3, 4]). Cela garantit qu'aucune donnée n'est perdue lors de la fusion de tableaux avec des clés correspondantes.

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!

Déclaration:
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