В PHP существует несколько способов объединить значения из двух массивов в один. Рассмотрим несколько из них.
1. Использование оператора "+":
$array1 = [1, 2, 3]; $array2 = [4, 5, 6]; $result = $array1 + $array2; print_r($result);
Результат:
Array ( [0] => 1 [1] => 2 [2] => 3 )
В этом случае значения из первого массива сохраняются, а значения из второго массива, которые имеют те же ключи, игнорируются.
2. Использование функции array_merge():
$array1 = [1, 2, 3]; $array2 = [4, 5, 6]; $result = array_merge($array1, $array2); print_r($result);
Результат:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
В этом случае значения из обоих массивов объединяются и сохраняются в результирующем массиве.
3. Использование оператора "[]":
$array1 = [1, 2, 3]; $array2 = [4, 5, 6]; $result = $array1; foreach ($array2 as $value) { $result[] = $value; } print_r($result);
Результат:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
В этом случае мы создаем пустой массив и добавляем в него значения из обоих массивов с помощью оператора "[]".
4. Использование функции array_merge_recursive():
$array1 = [1 => ['a', 'b'], 2 => ['c']]; $array2 = [1 => ['d', 'e'], 3 => ['f']]; $result = array_merge_recursive($array1, $array2); print_r($result);
Результат:
Array ( [1] => Array ( [0] => a [1] => b [2] => d [3] => e ) [2] => Array ( [0] => c ) [3] => Array ( [0] => f ) )
В этом случае значения из обоих массивов объединяются вложенно, то есть значения с теми же ключами будут сохранены как массивы.
Однако стоит быть осторожным при объединении массивов, особенно в случае, когда массивы имеют одинаковые ключи. Некоторые функции, например, array_merge(), игнорируют дублирующие ключи, а некоторые, например, array_merge_recursive(), сохраняют их. Поэтому перед объединением массивов рекомендуется внимательно изучить документацию PHP и выбрать подходящий метод в зависимости от ваших потребностей.