dt888999
2018-02-22 11:15
浏览 285
已采纳

如何合并两个多维数组

I have two array:

$arr1 = array(
    'attributes' => array(
        'fruit'     => 'banana', 
    ),
);

$arr2 = array(
    'attributes' => array(
        'color'    => 'red', 
    ),
);

$result = array_merge($arr1, $arr2);

The result is:

Array ( [attributes] => Array ( [color] => red ) ) 

But my expected result:

Array ( [attributes] => Array ( [color] => red [fruit] => banana ) ) 

What I am doing wrong? Should I use array_merge or maybe will be better and easier just to use array_push and use only ('color' => 'red') ?

图片转代码服务由CSDN问答提供 功能建议

我有两个数组:

  $ arr1 = array(  
'attributes'=>数组(
'fruit'=>'banana',
),
); 
 
 $ arr2 = array(
'attributes'=> array(\  n'color'=>'red',
),
); 
 
 $ result = array_merge($ arr1,$ arr2); 
   
 
 <  p>结果是: 
 
 
  Array([attributes] =&gt; Array([color] =&gt; red))
   \  n 
 

但是我的预期结果:

  Array([attributes] =&gt; Array([color] =&gt; red [fruit] =&gt; banana)  )
   
 
 

我做错了什么? 我应该使用 array_merge \也许更好更容易使用 array_push 并仅使用('color'=&gt;'red')? \ n

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dtbl1231 2018-02-22 11:19
    已采纳

    array_merge_recursive() is a great fit here.

    $resultArray = array_merge_recursive($arr1, $arr2);
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • duanbi3786 2018-02-22 11:27

    try this:

    $result = array('attributes' => array_merge($arr1['attributes'], $arr2['attributes']));
    print_r($result);
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题