Maison > développement back-end > tutoriel php > Comment puis-je fusionner efficacement deux tableaux PHP 2D basés sur une colonne partagée à l'aide de fonctions natives ?

Comment puis-je fusionner efficacement deux tableaux PHP 2D basés sur une colonne partagée à l'aide de fonctions natives ?

Susan Sarandon
Libérer: 2024-12-03 22:10:14
original
688 Les gens l'ont consulté

How Can I Efficiently Merge Two 2D PHP Arrays Based on a Shared Column Using Native Functions?

Fusionner efficacement des tableaux 2D basés sur des valeurs de colonnes partagées à l'aide de fonctions PHP natives

Fusionner efficacement plusieurs tableaux est une tâche courante dans la programmation PHP. Cet article explore une solution optimale pour fusionner deux tableaux 2D basés sur une valeur de colonne partagée sans recourir à des boucles imbriquées ou à des procédures complexes.

Étant donné deux exemples de tableaux :

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

$array2 = [
    ['size' => 'S', 'status' => 'A', 'id' => '1'],
    ['size' => 'L', 'status' => 'A', 'id' => '2'],
];
Copier après la connexion

L'objectif est de fusionner ces tableaux dans un nouveau tableau qui combine les valeurs de chaque tableau en fonction de l'identifiant correspondant valeurs :

$mergedArray = [
    ['size' => 'S', 'status' => 'A', 'id' => '1', 'rank' => '579'],
    ['size' => 'L', 'status' => 'A', 'id' => '2', 'rank' => '251'],
];
Copier après la connexion

Utilisation des fonctions natives de tableau PHP

Pour faciliter ce processus de fusion, PHP fournit deux fonctions natives :

  • array_merge_recursive() : fusionne deux tableaux de manière récursive, en préservant le multidimensionnel structure.
  • my_array_merge() : une fonction personnalisée qui parcourt les tableaux et fusionne les valeurs correspondantes.

Exemple de code utilisant array_merge_recursive() :

$mergedArray = array_merge_recursive($array1, $array2);
Copier après la connexion

Exemple de code utilisant my_array_merge():

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

$mergedArray = my_array_merge($array1, $array2);
Copier après la connexion

Les deux méthodes fusionnent efficacement les deux tableaux, produisant le résultat souhaité. Le choix de la fonction dépend des exigences de performances spécifiques et des préférences de clarté du code du développeur.

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