如何使用相同的id合并数组

时间:2017-03-29 11:52:25

标签: php arrays multidimensional-array foreach array-merge

我有两个数组,我想将它们组合在一起

1)首先看起来像这样:

"\n"

2)第二个数组看起来像这样:

[11] => Array
    (
        [id] => 11
        [name] => test
    )
[12] => Array
    (
        [id] => 12
        [name] => test1
    )

我想要这个结果。如何为任何人提供相同的解决方案?

[0] => Array
    (
        [offer_id] => 11
        [countries] => Array
            (
                [SA] => Array
                    (
                        [id] => 682                           
                    )
            )
    )

[1] => Array
    (
        [offer_id] => 12
        [countries] => Array
            (
                [KW] => Array
                    (
                        [id] => 414                           
                    )
            )
    )

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

试试这个:

foreach ($array1 as &$arr1) {
    $offer_id = $arr1['id'];    // Search for this offer_id in array 2
    $match = array_filter($array2, function($v) use ($offer_id){
        return $v['offer_id'] == $offer_id;  // Return matching offer id
    });
   $arr1['countries'] = current($match)['countries']; // Assign matched country to array
}