Php 用一个公共密钥合并/组合2个数组

Php 用一个公共密钥合并/组合2个数组,php,arrays,laravel,Php,Arrays,Laravel,我有两个数组 $firstarray = [ ['name'='a', 'price'=1],['name'='b', 'price'=2],... ] $secondarray = [ ['name'='b', 'year'=1999],['name'='a', 'year'=2000],... ] how do I combine the together based on the name to result $resultingarry = [ ['name'='a', 'year'

我有两个数组

$firstarray = [ ['name'='a', 'price'=1],['name'='b', 'price'=2],... ]
$secondarray = [ ['name'='b', 'year'=1999],['name'='a', 'year'=2000],... ]

how do I combine the together based on the name to result

$resultingarry = [ ['name'='a', 'year'=2000, price'=1],....] 
我尝试了array\u merge\u recursive和array\u merge\u recursive\u distinct,但是它们都依赖于键,因此顺序总是关闭的


提前感谢

我不知道有哪种PHP函数(或laravel函数)可以做到这一点。不过,有些循环非常简单:

$firstarray=[['name'=>a','price'=>1],'name'=>b','price'=>2],];
$secondarray=[['name'=>b','year'=>1999],'name'=>a','year'=>2000],];
$resultingarray=[];
foreach($firstarray作为$entry){
//在第二个数组中查找具有相同“名称”的项
foreach($secondarray作为$secondentry){
如果($secondentry['name']==$entry['name']){
$resultingarray[]=array\u merge($entry,$secondentry);
继续2;
}
}
}
变量转储($resultingarray);
结果:

array(2) {
  [0]=>
  array(3) {
    ["name"]=>
    string(1) "a"
    ["price"]=>
    int(1)
    ["year"]=>
    int(2000)
  }
  [1]=>
  array(3) {
    ["name"]=>
    string(1) "b"
    ["price"]=>
    int(2)
    ["year"]=>
    int(1999)
  }
}
请注意,这仅合并第一个“匹配”(第二个数组中的条目在第一个数组中具有相同的
名称
值)