<?php
$arr = [
"name" => [
"ajay",
"ajay2",
],
"email" => [
"a@g.com",
"a@g.com2",
],
"phone" => [
"23423423",
"234234232",
],
"address" => [
"sdfghj",
"ertyu",
],
"date" => 123456
];
$keys = array_keys($arr);
$maxLength = count(max($arr));
//fix array
$arr = array_map(function($v)use($maxLength){
if(!is_array($v))
return array_fill(0, $maxLength, $v);
elseif(count($v) < $maxLength)
return array_fill(0, $maxLength, $v[0]);
return $v;
}, $arr);
//transpose
array_unshift($arr, NULL);
$arr = call_user_func_array("array_map", $arr);
//add keys
$arr = array_map(function($v)use($keys){
return array_combine($keys, $v);
}, $arr);
print_r($arr);
preferences:
68.76 ms | 402 KiB | 5 Q