PHP合并具有条件的数组

时间:2017-10-13 19:06:15

标签: php arrays merge

我有2个数组。我想将它们合并为1个数组但有条件。如果Ref和Id相等,则合并

std::vector<std::atomic<int>> v(3);
v[0] = 1;
v[1] = 2;
v[2] = 3;

我想合并它们,所以我最终得到:

 Array Number One
(
[0] => Array
    (
        [Id] => 60
        [Name] => Water Authority
    )

[1] => Array
    (
        [Id] => 63
        [Name] => Service Station 
    )

Array Number Two
 (
    [0] => Array
    (
        [Date] => 2017-10-12
        [Amount] => 130.00
        [Ref] => 60
        [Description] => Water Bill Oct
    )

[1] => Array
    (
        [Date] => 2017-10-10
        [Amount] => 130.00
        [Ref] => 63
        [Description] => Gas
    )

[2] => Array
    (
        [Date] => 2017-09-17
        [Amount] => 600.00
        [Ref] => 60
        [Description] => Water bill Sept
    )

我该怎么做?我试过array_merge,但我知道它需要别的东西,只是不知道是什么!

1 个答案:

答案 0 :(得分:1)

假设第一个数组为$ array1,第二个数组为array2

$ result = [];

foreach ($array1 as $key1 => $value1) {
    foreach ($array2 as $key2 => $value2) {
        if ($value1['Id']==$value2['Ref']) {
            $result[]=$value2+$value1;
        }
    }
}

结果将如您所愿