Comment combiner deux tableaux associatifs en PHP ?

Patricia Arquette
Libérer: 2024-11-02 12:33:02
original
440 Les gens l'ont consulté

How do I combine two associative arrays in PHP?

Combinaison de tableaux associatifs en PHP

En PHP, la combinaison de deux tableaux associatifs en un seul peut être réalisée efficacement à l'aide de la fonction array_merge(). Voici comment procéder :

Considérez les deux tableaux associatifs suivants :

<code class="php">$array1 = ["name1" => "id1"];

$array2 = ["name2" => "id2", "name3" => "id3"];</code>
Copier après la connexion

Méthode 1 : array_merge()

Pour fusionner le tableaux, utilisez la fonction array_merge() comme suit :

<code class="php">$array3 = array_merge($array1, $array2);</code>
Copier après la connexion

Cela créera un nouveau tableau $array3 qui contient toutes les paires clé-valeur de $array1 et $array2. Les valeurs des clés en double seront écrasées par les valeurs du deuxième tableau.

Méthode 2 : opérateur d'addition de tableau ( )

Vous pouvez également utiliser l'ajout de tableau ( ) pour fusionner les tableaux :

<code class="php">$array4 = $array1 + $array2;</code>
Copier après la connexion

Cet opérateur fusionne également les tableaux, mais il n'écrase pas les valeurs de clé en double. Au lieu de cela, cela entraînera un tableau multidimensionnel avec des clés en double.

Résultat

Dans les deux cas, $array3 et $array4 seront :

array(4) {
  ["name1"] => "id1",
  ["name2"] => "id2",
  ["name3"] => "id3"
}
Copier après la connexion

Tests unitaires

Pour tester unitairement cette fonctionnalité, vous pouvez créer des cas de test qui affirment le comportement attendu de la fonction array_merge() ou de l'opérateur d'addition de tableau. Voici un exemple de test utilisant PHPUnit :

<code class="php">class ArrayMergeTest extends PHPUnit_Framework_TestCase
{
    public function testArrayMerge()
    {
        $array1 = ["name1" => "id1"];
        $array2 = ["name2" => "id2", "name3" => "id3"];
        $expectedArray = ["name1" => "id1", "name2" => "id2", "name3" => "id3"];

        $actualArray = array_merge($array1, $array2);

        $this->assertEquals($expectedArray, $actualArray);
    }
}</code>
Copier après la connexion

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