<?php
$name = array('name1', 'name2');
$email = array('email1', 'email2');
function array_combine_values_assoc(array $keys, array $data = [])
{
if (func_num_args() > 2) {
$data = array_slice(func_get_args(), 1);
}
return array_map(function ($key) use ($keys, $data) {
return array_combine($keys, array_column($data, $key));
}, array_keys(current($data)));
}
var_dump(array_combine_values_assoc(['name', 'email'], $name, $email));
var_dump(array_combine_values_assoc(['name', 'email'], [$name, $email]));
preferences:
42.99 ms | 402 KiB | 5 Q