Очень часто нужно собрать один большой массив из нескольких массивов. Как собрать один массив из нескольких массивов PHP? Тут поможет функция array_merge(). Функция сливает элементы одного или большего количества массивов таким образом, что значения одного массива присоединяются к концу предыдущего. Вы можете использовать циклы или специальные функции для соединения массивов. Это неудобно и нужно писать много строк кода для подобной задачи.
$arr1[0] = [1111, 2222];
$arr2[0] = [1111, 3333];
$arr3[0] = [1111, 5555];
// слияние двух или более массивов
$resHost1 = array_merge($arr1, $arr2, $arr3);
// рекурсивное слияние двух или более массивов
$resHost2 = array_merge_recursive($arr1, $arr2, $arr3);
print_r($resHost1);
print_r($resHost2);
Помимо функции array_merge() есть функция array_merge_recursive(). Она вытаскивает массивы из каждого переданного массива. Попробуйте обе функции и сразу поймёте разницу по результатам. Функция array_merge() принимает только массивы. Если один из входных параметров не массив, то возникнет ошибка. Используйте условие if(is_array($arr) == false) $arr = (array)$arr. Тут произойдёт проверка элемента по типу данных. Если элемент по типу данных не массив, то произойдёт смена типа данных. Элемент станет массивом даже если не является массивом PHP.