Maison  >  Article  >  développement back-end  >  Quand utiliser l’opérateur de fusion de tableaux en PHP ?

Quand utiliser l’opérateur de fusion de tableaux en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-24 20:03:30944parcourir

When to Use the Array Merge Operator   in PHP?

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!

Déclaration:
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