2009-12-01 98 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)); 

這應該與水果的任何數量的工作。