Maison >développement back-end >tutoriel php >Comment puis-je fusionner deux tableaux 2D en PHP en fonction d'une valeur de colonne partagée ?

Comment puis-je fusionner deux tableaux 2D en PHP en fonction d'une valeur de colonne partagée ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-03 10:14:15426parcourir

How Can I Merge Two 2D Arrays in PHP Based on a Shared Column Value?

Fusion de deux tableaux 2D par valeur de colonne partagée

Dans le domaine de la manipulation de données, la fusion de tableaux apparaît souvent comme une tâche courante. Cet article explore un scénario spécifique : combiner deux tableaux 2D basés sur une valeur de colonne partagée.

Imaginez deux tableaux, chacun contenant des objets avec des identifiants communs. Ces tableaux pourraient ressembler à ceci :

$array1 = [
    ['rank' => '579', 'id' => '1'],
    ['rank' => '251', 'id' => '2'],
];

$array2 = [
    ['size' => 'S', 'status' => 'A', 'id' => '1'],
    ['size' => 'L', 'status' => 'A', 'id' => '2'],
];

Notre objectif est de fusionner ces tableaux en un seul tableau, en combinant les éléments qui partagent la même valeur « id ».

Fusion native de PHP Options

PHP propose plusieurs fonctions qui facilitent la fusion de tableaux. Explorons-les :

1. array_merge_recursive() : Cette fonction combine les tableaux de manière récursive, en écrasant les clés existantes du tableau cible par les valeurs du tableau source. Il réalise sans effort la fusion souhaitée, comme le montre le code suivant :

$mergedArray = array_merge_recursive($array1, $array2);

2. Fonction de fusion personnalisée : Pour un contrôle maximal, nous pouvons créer une fonction de fusion personnalisée :

function my_array_merge(&$array1, &$array2) {
    $result = [];
    foreach ($array1 as $key => &$value) {
        $result[$key] = array_merge($value, $array2[$key]);
    }
    return $result;
}

Cette fonction parcourt les tableaux, fusionnant les éléments correspondants en fonction de leurs clés.

Conclusion

La combinaison de tableaux 2D par valeurs de colonnes partagées est une opération courante. PHP fournit des fonctions natives comme array_merge_recursive() pour une fusion rapide. Cependant, pour une fusion personnalisée ou une optimisation des performances, des fonctions personnalisées peuvent être utilisées. Le choix de l'approche dépend des exigences spécifiques et du contrôle souhaité.

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