PHP使用条件合并数组

PHP使用条件合并数组,php,arrays,merge,Php,Arrays,Merge,我有两个数组。我想将它们合并到一个数组中,但有一个条件。如果Ref和Id相等,则合并 Array Number One ( [0] => Array ( [Id] => 60 [Name] => Water Authority ) [1] => Array ( [Id] => 63 [Name] => Service Station ) Array Numb

我有两个数组。我想将它们合并到一个数组中,但有一个条件。如果Ref和Id相等,则合并

 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
    )
我想将它们与合并,因此我最终得到:

    Merged Array
 (
    [0] => Array
    (
        [Date] => 2017-10-12
        [Amount] => 130.00
        [Ref] => 60
        [Description] => Water Bill Oct
        [Id] => 60
        [Name] => Water Authority
    )

[1] => Array
    (
        [Date] => 2017-10-10
        [Amount] => 130.00
        [Ref] => 63
        [Description] => Gas
        [Id] => 63
        [Name] => Service Station 
    )
   and so on...

我该怎么做?我尝试了数组合并,但我知道它需要其他东西,只是不知道是什么

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

$result=[]

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

结果将如您预期的那样

注意循环内部的循环,因为它可能会大大增加算法的复杂性,并对性能产生负面影响