Comprendre l'opérateur de concaténation de tableaux en PHP
En PHP, l'opérateur peut être utilisé pour concaténer deux tableaux. Cependant, certains cas peuvent survenir où cet opérateur se comporte de manière inattendue, conduisant à des résultats incorrects.
Considérez le code suivant :
<code class="php">$array = array('Item 1'); $array += array('Item 2'); var_dump($array);</code>
La sortie attendue serait un tableau contenant à la fois « Article 1 » et « Article 2 ». Cependant, le résultat réel est :
array(1) { [0] => string(6) "Item 1" }
Cette différence se produit car PHP réduit les éléments du tableau avec des clés en double lors de l'utilisation de l'opérateur. Dans ce cas, les deux éléments ont une clé de 0, ce qui fait que seul le premier élément est conservé.
Pour résoudre ce problème et concaténer correctement les tableaux, il est recommandé d'utiliser la fonction array_merge() à la place.
<code class="php">$arr1 = array('foo'); $arr2 = array('bar'); // Will contain array('foo', 'bar'); $combined = array_merge($arr1, $arr2);</code>
Array_merge() préserve la structure du tableau, garantissant que les éléments avec des clés différentes sont correctement combinés.
Dans les scénarios où les éléments du tableau possèdent des clés uniques, l'opérateur peut être un choix approprié.
<code class="php">$arr1 = array('one' => 'foo'); $arr2 = array('two' => 'bar'); // Will contain array('one' => 'foo', 'two' => 'bar'); $combined = $arr1 + $arr2;</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!