2016-07-08 27 views
0

こんにちは皆私はどのように特定のキーに別の配列をマージ/プッシュすることができますか?PHPは同じキーで2つの配列をマージする

Array 
(
    [1] => Array 
     (
      [name] => test 
      [age] => 25 
     ) 
) 

私はPHPを使用して、誰かが私を助けている場合に非常に感謝されるだろう:私はこの結果をしたい

// Array 1 
Array 
(
    [1] => Array 
     (
      [name] => test 
     ) 
) 

// Array 2 
Array 
(
    [1] => Array 
     (
      [age] => 25 
     ) 
) 

:ここに私の配列です。前もって感謝します!

+0

http://php.net/manual/en/function.array-merge-recursive.phpでの出力を確認してください? –

+0

@MarcB私は試しましたが、成功しませんでしたか?どのようにそれを作るためのアイデア?ありがとう。 – diank

+0

配列マージを試みたときに使用したコードを投稿してください – Confiqure

答えて

1
$arr = [ 1 => [ "name" => "Test" ] ]; 
$arr2 = [ 1 => [ "age" => 25 ] ]; 

foreach ($arr as $key => $value) { 
    if (isset($arr2[$key])) { 
     $arr[$key] = array_merge($value,$arr2[$key]); 
    } 
} 

print_r($arr); 

https://eval.in/602680

+0

ありがとうございました。 – diank

+0

バグが見つかりました。複数の配列(配列1)がある場合は、最後にしか設定されていません。それを修正するには?ありがとう。 – diank

+0

'if(isset($ arr3 [$ key])){$ arr [$ key] = array_merge($ arr [$ key]) 'と言っている' isset($ arr2 [$ key] 、$ arr3 [$ key]) 'というように、同じ配列内に複数のエントリがある場合は、これをもっと効果的に行うことができます。 – apokryfos

0

ちょうどそれらを一緒に追加します。

<?php 
$array1 = array('name' => 'test'); 
$array2 = array('age' => 21); 

var_dump($array1 + $array2); 
関連する問題