Я хочу объединить два массива в один массив следующим образом:
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 )