@ 2015-10-10T16:06:21Z <?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);
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.7 Fatal error: Uncaught ArgumentCountError: array_map() expects at least 2 arguments, 1 given in /in/fEGrg:42
Stack trace:
#0 /in/fEGrg(42): array_map(NULL, name: Array, email: Array, phone: Array, address: Array, date: Array)
#1 {main}
thrown in /in/fEGrg on line 42
Process exited with code 255 . Output for 5.4.0 - 5.4.45 , 5.5.0 - 5.5.38 , 5.6.0 - 5.6.40 , 7.0.0 - 7.0.33 , 7.1.0 - 7.1.33 , 7.2.0 - 7.2.34 , 7.3.0 - 7.3.33 , 7.4.0 - 7.4.33 Array
(
[0] => Array
(
[name] => ajay
[email] => a@g.com
[phone] => 23423423
[address] => sdfghj
[date] => 123456
)
[1] => Array
(
[name] => ajay2
[email] => a@g.com2
[phone] => 234234232
[address] => ertyu
[date] => 123456
)
)
preferences:dark mode live preview
252.05 ms | 404 KiB | 384 Q