我有一个像这样的关联数组的数组
$my_array = [
[ 8 => "One" ],
[ 3=>"Two" ]
]
如何将所有的关联数组合并成一个数组呢
[
8 => "One",
3 =>"Two"
]
我试过使用array_merge(...$my_array)
,所有它给出的是
[
0 => "One"
1 => "Two"
]
在纯php中,假设这些数组总是这样的:(如果你不确定,你应该循环遍历sub_array来获取键)
foreach($my_array as $sub_array ){
$new_array[key($sub_array)] = $sub_array[key($sub_array)];
}
var_export($new_array);
您可以这样做,通过使用Collection和mapWithKeys
方法:
$a = [
[
8 => "One",
],
[
3 => "Two",
],
];
$b = collect($a)->mapWithKeys(function($a) {
return $a;
})->toArray();
dd($b);
// [
// 8 => "One"
// 3 => "Two"
// ]
循环遍历两个关卡以获取密钥
foreach ($my_array as $sub_array) {
foreach ($sub_array as $key => $value) {
$new_array[$key] = $value;
}
}
print_r($new_array);