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