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_merge、を試しarray_merge_recursiveましたが、希望どおりにマージされません(各配列に正しく配置するのではなく、値を下部に追加しただけです)。これと同様の質問も見ましたが、役に立ちませんでした(それでも、値を一番下にマージしますが、私が望む方法ではありません)。

助言がありますか?

4

3 に答える 3

3

これを試して

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

コードパッド

出力

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
            )
    )
)
于 2013-05-07T05:48:04.370 に答える
1

これを試して、

array_merge($arr1[0], $arr2[0]);
于 2013-05-07T05:47:03.473 に答える
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
            )

    )

 )
于 2013-05-07T05:49:27.770 に答える