2009-12-01 75 views
0

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

$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; 
+0

“橙色”和“苹果”是否有相同数量的项目? – 2009-12-01 15:26:59

回答

3

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

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

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

+0

经过测试,并且工作正常。比我所建议的要简单得多:) – Psytronic 2009-12-01 16:07:44

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); 
+0

对不起,语法错误,只是现在检查 – Psytronic 2009-12-01 15:22:03

+0

这将无法正常工作,请再次阅读我的代码。 – 2009-12-01 15:24:07

+0

这给出了您的问题 – Psytronic 2009-12-01 15:30:48

0

它看起来像$array的值是您要合并的数组。因为这需要传递给array_merge参数的动态数字,只有这样,我知道做到它是通过call_user_func_array

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

这应该与水果的任何数量的工作。