2013-05-07 123 views
0

我有此數組:合併兩個類似的多維數組到一個

$arr1 = array (
    array (
     array (
      'correct' => FALSE, 
      'answer' => 'false answer1' 
     ), 
     array (
      'correct' => FALSE, 
      'answer' => 'false answer2' 
     ), 
     array (
      'correct' => FALSE, 
      'answer' => 'false answer3' 
     ) 
    )); 

這陣:

$arr2 = array (
    array ( 
     array (
      'correct' => TRUE, 
      'answer' => 'correct answer' 
     ) 
    )); 

我所要的輸出是:

$output = array (
    array (
     array (
      'correct' => FALSE, 
      'answer' => 'false answer1' 
     ), 
     array (
      'correct' => FALSE, 
      'answer' => 'false answer2' 
     ), 
     array (
      'correct' => FALSE, 
      'answer' => 'false answer3' 
     ),     
     array (
      'correct' => TRUE, 
      'answer' => 'correct answer' 
     ) 
    )); 

我試過using array_mergearray_merge_recursive,但它合併它不是我想要它(它只是增加了底部的值而不是placi將它們正確地插入每個陣列)。我也看到了類似的問題,但它並沒有幫助我(仍將底部的值合併,而不是我希望它們如何)。

有什麼建議嗎?

+0

它總是在底部合併,你想以某種方式排序數組? – 2013-05-07 05:44:41

+0

不,我的意思是,對我來說,它增加了新的數組列[1] - [0] [1] [2]; [2] - [3]',我希望它像這樣 - '[1] - [0] [1] [2] [3]'。對不起,我不知道如何正確解釋自己.. – Edgar 2013-05-07 05:46:47

回答

1

試試這個,

array_merge($arr1[0], $arr2[0]); 
+0

這工作,謝謝 – Edgar 2013-05-07 05:49:38

3

試試這個

$array[] = array_merge($arr1[0],$arr2[0]); 
print_r($array); 

Codepad

輸出

Array 
(
[0] => Array 
    (
     [0] => Array 
      (
       [correct] => 
       [answer] => false answer1 
      ) 

     [1] => Array 
      (
       [correct] => 
       [answer] => false answer2 
      ) 

     [2] => Array 
      (
       [correct] => 
       [answer] => false answer3 
      ) 

     [3] => Array 
      (
       [correct] => 1 
       [answer] => correct answer 
      ) 
    ) 
) 
+1

+鍵盤。:) – 2013-05-07 05:50:01

+1

@YogeshSuthar,很好的答案!非常好的格式化並在鍵盤上進行演示。你搖滾兄弟! – 2013-05-07 06:37:37

0
$arr1= array (
       array (
         array (
            'correct' => FALSE, 
            'answer' => 'false answer1' 
         ), 
         array (
            'correct' => FALSE, 
            'answer' => 'false answer2' 
         ), 
         array (
            'correct' => FALSE, 
            'answer' => 'false answer3' 
         ) 
       ) 
       ); 
     $arr2= array (
        array ( 
         array (
            'correct' => TRUE, 
            'answer' => 'correct answer' 
         ) 
       ) 
       ); 

     $result=array(array_merge($arr1[0],$arr2[0])); 
     print_r($result); 

輸出

Array 
(
    [0] => Array 
    (
     [0] => Array 
      (
       [correct] => 
       [answer] => false answer1 
      ) 

     [1] => Array 
      (
       [correct] => 
       [answer] => false answer2 
      ) 

     [2] => Array 
      (
       [correct] => 
       [answer] => false answer3 
      ) 

     [3] => Array 
      (
       [correct] => 1 
       [answer] => correct answer 
      ) 

    ) 

)