Для преобразования массивов в php есть множество функций и операторов: Сборник функций для работы с массивами
Есть несколько способов, чтобы добавить массив в массив при помощи php и все они могут пригодиться для отдельных случаев.
"Оператор +"
Это простой, но коварный способ:
$c = $a + $b
Так добавляются только те ключи, которых еще нет в массиве $a. При этом элементы дописываются в конец массива.
То есть если ключ из массива $b отсутствует в массиве $a, то в результирующем массиве добавится элемент с этим ключом.
Если в массиве $a уже есть элемент с таким ключом, то его значение останется без изменений.
Иными словами от перемены мест слагаемых сумма меняется: $a + $b != $b + $a
— это стоит запомнить.
А теперь более подробный пример, чтобы проиллюстрировать это:
$arr1 = ['a' => 1, 'b' => 2]; $arr2 = ['b' => 3, 'c' => 4]; var_export($arr1 + $arr2); //array ( // 'a' => 1, // 'b' => 2, // 'c' => 4, //) var_export($arr2 + $arr1); //array ( // 'b' => 3, // 'c' => 4, // 'a' => 1, //)
Функция array_merge()
Использовать эту функцию можно следующим образом:
$result = array_merge($arr1, $arr2)
Она сбрасывает числовые индексы и заменяет строковые. Отлично подходит для того, чтобы склеить два или несколько массивов с числовыми индексами:
Если входные массивы имеют одинаковые строковые ключи, тогда каждое последующее значение будет заменять предыдущее. Однако, если массивы имеют одинаковые числовые ключи, значение, упомянутое последним, не заменит исходное значение, а будет добавлено в конец массива.
Подробная справка по array_megre.
Функция array_merge_recursive
Делает то же самое, что и array_merge
только еще и рекурсивно проходит по каждой ветке массива и проделывает то же самое с потомками. Подробная справка по array_merge_recursive
Функция array_replace()
Заменяет элементы массива элементами других переданных массивов. Подробная справка по array_replace.
Функция array_replace_recursive()
То же что и array_replace
только обрабатывает все ветки массива. Справка по array_replace_recursive.
Другие функции
Для работы с массивами в php есть еще ряд полезных функций, о существовании которых желательно знать. Прочитать о них можно по ссылке: http://php.net/manual/ru/book.array.php