Чтобы объединить один или несколько массивов в массив, используется функция array_merge():
array_merge ( array ...$arrays ) : array
Функция array_merge() принимает один или несколько массивов и возвращает новый массив, содержащий элементы из входных массивов.
Функция array_merge() добавляет элементы следующего массива к последнему элементу предыдущего.
Когда элементы во входных массивах имеют строковые ключи, более позднее значение для этого ключа будет перезаписывать предыдущее.
Однако, если функция array_merge() не перезапишет значения с теми же цифровыми ключами. Вместо этого он меняет нумерацию цифровых ключей, начиная с нуля в финальном массиве.
Начиная с PHP 7.4.0, вы можете вызывать функцию array_merge() без каких-либо аргументов. В этом случае функция вернет пустой массив.
В следующем примере функция array_merge () используется для объединения двух массивов в один:
<?php
$server_side = ['PHP'];
$client_side = ['JavaScript', 'CSS', 'HTML'];
$full_stack = array_merge($server_side, $client_side);
print_r($full_stack);
Вывод:
Array
(
[0] => PHP
[1] => JavaScript
[2] => CSS
[3] => HTML
)
В следующем примере используется функция array_merge () с асоциативными массивами:
<?php
$before = [
'PHP' => 2,
'JavaScript' => 4,
'HTML' => 4,
'CSS' => 3
];
$after = [
'PHP' => 5,
'JavaScript' => 5,
'MySQL' => 4,
];
$skills = array_merge($before, $after);
print_r($skills);
Вывод:
Array
(
[PHP] => 5
[JavaScript] => 5
[HTML] => 4
[CSS] => 3
[MySQL] => 4
)
Поскольку массивы $before и $after имеют одинаковые элементы с одинаковыми строковыми ключами и JavaScript, элементы в массиве $ before перезаписывают элементы в массиве $after.