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>
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>
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>
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" }
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>
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!