training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Как собрать один массив из нескольких массивов array_merge() PHP

Создано: 26 декабря 2015Автор: Егор Астапов2226 просмотровСложность: легкий

Очень часто нужно собрать один большой массив из нескольких массивов. Как собрать один массив из нескольких массивов 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.

Комментарии

реклама