128 votes

Quelle est la différence entre array_merge et array + array ?

Une question assez simple. Quelle est la différence entre :

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

et

$merged = $array1 + $array2;

?

77voto

Mike Lewis Points 29305

La différence est :

L'opérateur + prend l'union des deux tableaux, tandis que la fonction array_merge prend l'union MAIS les clés en double sont écrasées.

58voto

BoltClock Points 249668

array_merge() provoque la réindexation de toutes les clés numériques trouvées dans les tableaux d'entrée dans le tableau résultant. L'opérateur syndical + ne provoque pas de réindex.

52voto

how Points 950

array_merge vs plus

Source : https://softonsofa.com/php-array_merge-vs-array_replace-vs-plus-aka-union/

Arrêter d'utiliser array_merge($ defaults, $ options) :

function foo(array $options)
{
   $options += ['foo' => 'bar'];

   // ...
}

Note : la fonction array_replace existe depuis PHP5.3.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X