3 回答

TA貢獻1777條經驗 獲得超10個贊
只需合并它們,然后對鍵進行排序:
$arrData = array_merge(...$arrData);
ksort($arrData);
而不是...你可以使用:
$arrData = call_user_func_array('array_merge', $arrData);
如果你真的希望結果是多維的,那么:
$arrData = [$arraData];
//or
$arrData = array($arrData);

TA貢獻1793條經驗 獲得超6個贊
您可以使用array_reduce(或一個簡單的 foreach 循環)將每個后續數組值與第一個值合并:
$out = array_reduce($arrData, function ($c, $v) { return array_merge($c, $v); }, array());
print_r($out);
$out = array();
foreach ($arrData as $arr) {
$out = array_merge($out, $arr);
}
print_r($out);
輸出(對于兩個示例):
Array (
[a] => test
[c] => 1
[d] => 2
[e] => B
[b] => test2
)
如果要按字母順序保留鍵,可以使用ksort:
ksort($out);
print_r($out);
Array (
[a] => test
[b] => test2
[c] => 1
[d] => 2
[e] => B
)
- 3 回答
- 0 關注
- 166 瀏覽
添加回答
舉報