如何在PHP中合并这两个特定数组?

如何在PHP中合并这两个特定数组?,php,arrays,merge,Php,Arrays,Merge,我有这个阵列: $array['apples'][0]['name'] = 'Some apple'; $array['apples'][0]['price'] = 44; $array['oranges'][0]['name'] = 'Some orange'; $array['oranges'][0]['price'] = 10; 如何合并这两个阵列,以获得以下结果: $array[0]['name'] = 'Some apple'; $array[0]['price'] = 44; $

我有这个阵列:

$array['apples'][0]['name'] = 'Some apple';
$array['apples'][0]['price'] = 44;

$array['oranges'][0]['name'] = 'Some orange';
$array['oranges'][0]['price'] = 10;
如何合并这两个阵列,以获得以下结果:

$array[0]['name'] = 'Some apple';
$array[0]['price'] = 44;
$array[1]['name'] = 'Some orange';
$array[1]['price'] = 10;
$second_array=array(); foreach($fruit=>$arr的数组){ foreach($arr作为$a){ $second_array[]=array(“name”=>$a[“name”],“price”=>a[“price”]); } } 打印(第二个数组); $second_array=array(); foreach($fruit=>$arr的数组){ foreach($arr作为$a){ $second_array[]=array(“name”=>$a[“name”],“price”=>a[“price”]); } } 打印(第二个数组);
我这里没有要测试的PHP,但它不只是:

$array2 = $array['apples'];
array_merge($array2, $array['oranges']);

诚然,这现在是在
$array2
中,而不是
$array

我这里没有要测试的PHP,但它不只是:

$array2 = $array['apples'];
array_merge($array2, $array['oranges']);

当然,这现在是在
$array2
中,而不是
$array
..

中。看起来
$array
的值是要合并的数组。由于这需要传递给array\u merge的参数数量是动态的,所以我知道实现这一点的唯一方法是通过
调用\u user\u func\u array

$array = call_user_func_array('array_merge', array_values($array));

这应该适用于任何数量的水果。

看起来,
$array
的值就是要合并的数组。由于这需要传递给array\u merge的参数数量是动态的,所以我知道实现这一点的唯一方法是通过
调用\u user\u func\u array

$array = call_user_func_array('array_merge', array_values($array));

这应该适用于任何数量的水果。

橙色和苹果的项目数相同吗?橙色和苹果的项目数相同吗?编辑后现在是这样。但是,如果可能的话,我宁愿使用内置函数:)我认为对于您的特定数组格式没有内置函数。这不是我脑子里想不出来的,在你编辑之后,现在是这样了。但是,如果可能的话,我宁愿使用内置函数:)我认为对于您的特定数组格式没有内置函数。这不是我能想到的,在我的头顶上,这是可行的。比我建议的要简单得多:)经过测试,效果很好。比我的建议简单得多:)