Объединение двух элементов массива в один элемент массива в PHP

Я хочу объединить два массива в один массив следующим образом:

Array1:

Array ( [0] => Array ( [id] => 3 [sku] => KOG456 [cart_id] => 2 [name] => Young Money [slug] => young-money [route_id] => 47 [description] => This is test song [excerpt] => [saleprice] => 90.00 [related_products] => [images] => {"1c6b0883fc94c5f644497ec488cdf8cb":{"filename":"1c6b0883fc94c5f644497ec488cdf8cb.jpg","alt":"Test","caption":"","primary":true}} [seo_title] => [meta] => [enabled] => 1 ) ) 

array2:

 Array ( [0] => Array ( [filename] => Beethovens_Symphony_No._9_(Scherzo).wma [title] => Young Money [size] => 599.26 ) ) 

Ожидаемый результат массива:

 Array ( [0] => Array ( [id] => 3 [sku] => KOG456 [cart_id] => 2 [name] => Young Money [slug] => young-money [route_id] => 47 [description] => This is test song [excerpt] => [saleprice] => 90.00 [related_products] => [images] => {"1c6b0883fc94c5f644497ec488cdf8cb":{"filename":"1c6b0883fc94c5f644497ec488cdf8cb.jpg","alt":"Test","caption":"","primary":true}} [seo_title] => [meta] => [enabled] => 1 [filename] => Beethovens_Symphony_No._9_(Scherzo).wma [title] => Young Money [size] => 599.26 ) ) 

Как объединить эти элементы массива в один элемент массива?

 foreach ($origArray as $key => &$subArray) $subArray += $arrayToBeAdded[$key]; 

Где $origArray – ваш массив, который должен быть объединен, и $arrayToBeAdded массив, в который вы $arrayToBeAdded .

Пользователь array_merge_recursive() :

 $final = array_merge_recursive($array1, $array2); 

Попробуйте эту небольшую известную перегрузку оператора + для массивов:

 $result = $array1[0] + $array2[0] 

Для этого php имеет несколько функций. Вы можете использовать $ arrays = array_combine ($ array1, $ array2) ;.

PHP.net – array_combine

Надеюсь, это помогло!

Используйте функцию array_merge($array1[0], $array2[0]) . Ниже приведен пример того же

 $array1 = array(0=>array('1'=>1,'2'=>2,'3'=>3)); $array2 = array(0=>array('4'=>4,'5'=>5,'6'=>6)); $result[0] = array_merge($array1[0],$array2[0]); echo '<pre>'; print_r($result); 

Поскольку у вас есть уникальные ключи, вы можете использовать что-то простое, как оператор + (объединение) …

Например:

 $arr1 = [1=>'testing',2=>'stack',3=>'overflow']; $arr2 = [4=>'something',5=>'else',6=>'here']; $arr3 = $arr1 + $arr2; print_r($arr3); Results: Array ( [1] => testing [2] => stack [3] => overflow [4] => something [5] => else [6] => here )