簡體   English   中英

如何在PHP中合並這兩個特定的數組?

[英]How to merge this two specific arrays in 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;

我沒有要測試的PHP,但這不只是:

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

當然,這現在在$array2而不是$array

$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);

看起來$array的值就是您要合並的數組。 由於這需要傳遞給array_merge的動態數量的參數,因此我知道完成此操作的唯一方法是通過call_user_func_array

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

那應該與任何數量的水果一起工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM