2017-08-01 8 views
0

私は1つのキーがそれらに加わるべきである2つの配列を結合したいと思います。PHPの配列をマージしてキーを保持

array:1 [ 
     0 => array:2 [ 
     "MONAT" => "AUG" 
     "MAIL_CNT" => "2" 
     ] 
    1 => array:2 [ 
     "MONAT" => "JUL" 
     "MAIL_CNT" => "1" 
     ] 
    ] 

    array:2 [ 
     0 => array:2 [ 
     "MONAT" => "AUG" 
     "ORDER_CNT" => "18" 
     ] 
     1 => array:2 [ 
     "MONAT" => "JUL" 
     "ORDER_CNT" => "1" 
     ] 
    ] 

結果は、私が何をすべきかを把握カント

array:1 [ 
     0 => array:2 [ 
     "MONAT" => "AUG" 
     "MAIL_CNT" => "2" 
     "ORDER_CNT" => "18" 
     ] 
    1 => array:2 [ 
     "MONAT" => "JUL" 
     "MAIL_CNT" => "1" 
     "ORDER_CNT" => "1" 
     ] 
    ] 

のようなものでなければなりません。

あらかじめご挨拶ありがとうございます!

+5

[PHP:再インデックス化の代わりにキーを保持しながら2つの配列をマージするか?](https://stackoverflow.com/questions/3292044/php-merge-two-arrays-while-keeping-keys-instead-ofあなたのキーMONATは両方のために一致する必要がありますか? – Difster

+0

?その状態は? – Alice

答えて

1

使用array_replace_recursive

$array = array_replace_recursive($a1, $a2); 
+1

確信していますが、条件が月と一致する必要があり、配列の長さが両方の配列と一致しない場合は失敗します。 – Alice

+0

魅力的な作品です!私はちょっと恥ずかしいと感じています、私はちょうどarray_replaceを試しました:-) – WhiteRabbit

0
$mergedArray = array(); 
foreach($arr1 as $key => $row) { 
    $mergedArray[$key] = array_merge($arr2[$key], $row) 
} 

希望これは役立ちます

+0

このメソッドには、話す動く部分がたくさんありませんが、将来のSO読者が教育されるように、解答を説明し、コード専用の投稿を避けることが重要です。 – mickmackusa

1

あなたはこの

$arr1=array(
    0 =>array(
     "MONAT" => "AUG", 
     "MAIL_CNT" => "2" 
    ), 
    1 => array(
     "MONAT" => "JUL", 
     "MAIL_CNT" => "1" 
    ) 
); 

$arr2=array(
    0 => array(
     "MONAT" => "AUG", 
     "ORDER_CNT" => "18" 
    ), 
    1 => array(
     "MONAT" => "JUL", 
     "ORDER_CNT" => "1" 
    ) 
); 

$array = array_replace_recursive($arr1, $arr2); 
echo"<pre>"; print_r($array); 
+0

@jiboulexはすでにそれに答えています.... – Alice

0

第一のためのPHP array_replace_recursive()使用する必要があります。簡単な使用array_merge

第二:&は、それがvalue

foreach($array1 as $key => &$val) { 
    $val = array_merge($val,$array2[$key]); 
} 
print_r($array1); 

注意するのではなく、参照によって渡される意味:both array countが、それ以外の場合はエラーがスローされますと同じであれば上記のコードのみ動作します。

関連する問題