Mar*_*all 2 php arrays multidimensional-array
我通常使用Eloquent,因此转置数据要容易得多.但是我在香草PHP中苦苦挣扎.
我尝试过array_map(null, ...$array)因为它不是一个数组而得到错误.
我有以下键控数组:
[
'email' => [
"william.pool@gmail.com",
"martynleeball@gmail.com"
],
'lastName' => [
'Pool',
'Ball'
],
'firstName' => [
'William',
'Martyn'
],
'id' => [
'j8zwyk',
'1'
]
]
Run Code Online (Sandbox Code Playgroud)
我需要将其转换为以下格式:
[
0 => [
'email' => "william.pool@gmail.com",
'lastName' => 'Pool',
'firstName' => 'William',
'id' => 'j8zwyk'
],
1 => [
'email' => "martynleeball@gmail.com",
'lastName' => 'Ball',
'firstName' => 'Martyn',
'id' => '1'
]
]
Run Code Online (Sandbox Code Playgroud)
创建长度为2的新数组并循环遍历原点数组.在循环中将相关项插入到新数组中.
因此,如果您的数组每个键只有2个项目使用
$newArr = [];
foreach($arr as $key=>$item){
$newArr[0][$key] = $item[0];
$newArr[1][$key] = $item[1];
}
Run Code Online (Sandbox Code Playgroud)
但如果它有未知的项目使用
$newArr = [];
foreach($arr as $key=>$item){
foreach($item as $key2=>$item2)
$newArr[$key2][$key] = $item2;
}
Run Code Online (Sandbox Code Playgroud)
在演示中检查结果