PHP使用条件合并数组
我有两个数组。我想将它们合并到一个数组中,但有一个条件。如果Ref和Id相等,则合并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
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;
}
}
}
结果将如您预期的那样注意循环内部的循环,因为它可能会大大增加算法的复杂性,并对性能产生负面影响