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

时间:2009-12-01 15:18:06

标签: 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[1]['name'] = 'Some orange';
$array[1]['price'] = 10;

3 个答案:

答案 0 :(得分:3)

我这里没有PHP来测试,但不仅仅是:

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

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

答案 1 :(得分:2)

$second_array = array();

foreach($array as $fruit => $arr){
    foreach($arr as $a){
        $second_array[] = array("name" => $a["name"], "price" => $a["price"]);
    }
}
print_r($second_array);

答案 2 :(得分:0)

看起来$array的值是要合并的数组。由于这需要传递给array_merge的动态数量的参数,我知道完成它的唯一方法是通过call_user_func_array

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

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