Concaténation de tableaux avec l'opérateur : dévoilée
En PHP, l'opérateur peut être utilisé pour combiner deux tableaux. Cependant, il existe des cas où cette méthode se comporte de manière inattendue, comme le démontre l'extrait de code ci-dessous :
<code class="php">$array = array('Item 1'); $array += array('Item 2'); var_dump($array);</code>
Ce code produit une sortie de :
array(1) { [0]=> string(6) "Item 1" }
Contrairement aux attentes, le deuxième l'élément n'a pas été ajouté au tableau. Pour comprendre ce comportement, nous approfondissons les subtilités des clés de tableau.
Lorsque vous utilisez l'opérateur pour concaténer des tableaux, il attribue une clé de 0 à tous les éléments. Par conséquent, tous les éléments existants avec des clés différentes sont écrasés. Pour éviter cela, l'approche recommandée consiste à utiliser la fonction array_merge() :
<code class="php">$arr1 = array('foo'); $arr2 = array('bar'); $combined = array_merge($arr1, $arr2);</code>
Ce code fusionne correctement les tableaux, ce qui donne :
array('foo', 'bar');
Cependant, si les clés de les tableaux sont uniques, l'opérateur peut être utilisé efficacement :
<code class="php">$arr1 = array('one' => 'foo'); $arr2 = array('two' => 'bar'); $combined = $arr1 + $arr2;</code>
Ce code produit le résultat souhaité :
array('one' => 'foo', 'two' => 'bar');
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!