2013-08-27 247 views
1

我有兩個數組合併兩個數組

Array 
(
    [rows] => Array 
     (
      [0] => Array 
       (
        [color] => 0 
       ) 

      [1] => Array 
       (
        [color] => 1 
       ) 

     ) 

) 

Array 
(
    [rows] => Array 
     (
      [0] => Array 
       (
        [kaka] => 0 
       ) 

      [1] => Array 
       (
        [kaka] => 1 
       ) 

     ) 

) 

我想合併一個數組,所以輸出

Array 
(
    [rows] => Array 
     (
      [0] => Array 
       (
        [color] => 0, 
        [kaka] => 0 
       ) 

      [1] => Array 
       (
        [color] => 1, 
        [kaka] => 0 
       ) 
     ) 
) 

誰能幫助我?

+0

您是否嘗試過一個簡單的'foreach'? – zerkms

+0

'array_merge_recursive()'怎麼辦? – Alex

+0

我試過array_merge_recursive,其結果是: 陣列 ( [行] =>數組 ( [0] =>數組 ( [顏色] => 0 ) [1] =>數組 ( [顏色] => 1 ) [2] =>數組 ( [卡卡] => 0 ) [3] =>數組 ( [卡卡] => 1 ) ) ) –

回答

0

試試這個

$arr1 = array('row' => array(
       '0' => array ('color' => 0), 
       '1' => array ('color' => 1) 
      )); 
$arr2 = array('row' => array(
       '0' => array ('kaka' => 0, 'dada' => 2), 
       '1' => array ('kaka' => 1, 'tata' => 2), 
       '2' => array ('kaka' => 2) 
      )); 

function merge($arr1, $arr2) { 
    $result = $arr1; 
    foreach($arr2['row'] as $key => $value) { 
     foreach($value as $vkey => $vvalue) { 
      $result['row'][$key][$vkey] = $vvalue; 
     } 
    } 

    return $result; 
} 

$merge = merge($arr1, $arr2); 
var_dump($merge); 

輸出

 
array (size=1) 
    'row' => 
    array (size=3) 
     0 => 
     array (size=3) 
      'color' => int 0 
      'kaka' => int 0 
      'dada' => int 2 
     1 => 
     array (size=3) 
      'color' => int 1 
      'kaka' => int 1 
      'tata' => int 2 
     2 => 
     array (size=1) 
      'kaka' => int 2 
+0

它的工作原理,非常感謝:) –