Maison > développement back-end > tutoriel php > Comment fusionner des tableaux avec des clés correspondantes en PHP tout en conservant les deux valeurs ?

Comment fusionner des tableaux avec des clés correspondantes en PHP tout en conservant les deux valeurs ?

Patricia Arquette
Libérer: 2024-10-28 18:43:29
original
911 Les gens l'ont consulté

How to Merge Arrays with Matching Keys in PHP While Keeping Both Values?

Fusion de tableaux avec des clés correspondantes en PHP

Lorsque vous travaillez avec des tableaux en PHP, il est souvent nécessaire de fusionner plusieurs tableaux ensemble. Cependant, lorsque les tableaux partagent des clés correspondantes, il devient important de gérer le processus de fusion avec soin.

Approche initiale

Comme mentionné dans les informations fournies, vous avez tenté de fusionner deux tableaux en utilisant array_merge(). Cette fonction effectue une fusion superficielle, combinant les valeurs des deux tableaux. Cependant, dans ce cas, comme les tableaux ont des clés qui se chevauchent, les valeurs du premier tableau sont écrasées par celles du second.

Une solution alternative utilisant array_map()

Pour résoudre le problème des clés qui se chevauchent, vous pouvez utiliser array_map(). Cette fonction applique une fonction de rappel définie par l'utilisateur à chaque élément des tableaux spécifiés et renvoie un nouveau tableau basé sur les valeurs modifiées.

Dans la solution fournie :

  1. Préparer les tableaux :

    • Les tableaux $array1 et $array2 sont préparés avec les données données.
  2. Définir la fonction de rappel :

    • Une fonction de rappel anonyme est définie à l'aide de function(). Il accepte deux paramètres, $a et $b, qui représentent respectivement des éléments de $array1 et $array2.
  3. Extraire la clé et modifier la valeur :

    • À l'intérieur du rappel, la clé ($key) est obtenue en utilisant current(array_keys($a)).
    • La valeur dans $a est modifiée pour inclure un 'ip' clé contenant sa valeur d'origine.
  4. Gérer le deuxième tableau :

    • Le deuxième tableau ($b) est traité de même, obtenir sa clé ($key) et modifier la valeur pour inclure une clé « nom ».
  5. Fusionner les tableaux :

    • Les tableaux modifiés ($a et $b) sont fusionnés à l'aide de array_merge_recursive(), qui effectue une fusion profonde, fusionnant les tableaux de manière récursive.
  6. Stocker les résultats :

    • Le résultat fusionné est stocké dans $results à l'aide de l'opérateur =.

Sortie

Le résultat de cette solution est un tableau dans lequel les clés (Camera1, Camera2, Camera3) sont fusionnées et les valeurs sont combinées sous les clés « ip » et « name », fournissant un résultat structuré.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal