PHP按值合并数组

前端之家收集整理的这篇文章主要介绍了PHP按值合并数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道这很容易用foreach,然后是while-> list等程序完成,(我已经完成了),但是我觉得我的代码有点脏,看起来不是最好的解决方案…我希望使用本机 PHP数组函数来执行以下操作:

我有两个看起来像这样的数组:

[0] (Array)#2
  [rank] "579"
  [id] "1"
[1] (Array)#4
  [rank] "251"
  [id] "2"

[0] (Array)#2
  [size] "S"
  [status] "A"
  [id] "1"
[1] (Array)#15
  [size] "L"
  [status] "A"
  [id] "2"

我需要的结果如下:

[0] (Array)#2
  [size] "S"
  [status] "A"
  [id] "1"
  [rank] "579"

[1] (Array)#2
  [size] "L"
  [status] "A"
  [id] "2"
  [rank] "251"

有没有办法能够合并两个数组与id值(或其他),而无需进入无穷无尽的foreachs?

使用 array_merge_recursive()
$array = array_merge_recursive($array1,$array2);

或者自己动手(可能会更快)

function my_array_merge(&$array1,&$array2) {
    $result = Array();
    foreach($array1 as $key => &$value) {
        $result[$key] = array_merge($value,$array2[$key]);
    }
    return $result;
}
$array = my_array_merge($array1,array2);
print_r($array);

猜你在找的PHP相关文章