PHP array_merge() Function

Quick summary: The PHP array_merge() function merges one or more arrays.

PHP array_merge() Syntax

array_merge(array ...$arrays): array
PHP

PHP array_merge() Basic examples

var_dump(array_merge([1,2],[3,4]));
PHP
Output:
array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) }

Merges indexed arrays.

PHP array_merge() Real-world usage

$defaults = ['role'=>'user'];
$override = ['role'=>'admin'];
var_dump(array_merge($defaults, $override));
PHP
Output:
array(1) { ["role"]=> string(5) "admin" }

Later values overwrite earlier ones.

PHP array_merge() Edge cases

var_dump(array_merge(['a'=>1],['a'=>2]));
PHP
Output:
array(1) { ["a"]=> int(2) }

String keys are overwritten.

PHP array_merge() Common mistakes

Expecting deep merge

Nested arrays are overwritten.

Incorrect
array_merge(['a'=>['x'=>1]],['a'=>['y'=>2]]);
Correct
array_merge_recursive(['a'=>['x'=>1]],['a'=>['y'=>2]]);

Use array_merge_recursive for nested arrays.

PHP array_merge() Frequently Asked Questions

What does array_merge() do in PHP?

array_merge() merges one or more arrays into a single array.

What happens to numeric keys in array_merge()?

Numeric keys are reindexed starting from zero.

What happens to string keys in array_merge()?

String keys are preserved, and later values overwrite earlier ones.

Does array_merge() modify the original arrays?

No, it returns a new merged array.

Can array_merge() accept multiple arrays?

Yes, it can merge two or more arrays.

What happens if arrays have duplicate string keys?

Later values overwrite earlier ones for the same key.

Is array_merge() recursive?

No, it merges only the top level. Use array_merge_recursive() for nested arrays.

What is the difference between array_merge() and + operator?

array_merge() overwrites values, while + preserves the first array’s keys and values.

Can array_merge() handle associative arrays?

Yes, it works with both indexed and associative arrays.

Is array_merge() fast?

Yes, it is optimized for performance.

What is a real-world use case of array_merge()?

Combining configuration arrays or merging datasets.

Can array_merge() be used with empty arrays?

Yes, merging with an empty array returns the original array.

PHP array_merge() Related PHP Functions