Assuming I have 5 arrays, all just indexed arrays, and I would like to combine them, this is the best way I can figure, has anyone found a more efficient solution?function mymap_arrays() {    $args = func_get_args();    $key  = array_shift($args);    return array_combine($key, $args);}$keys   = array('u1', 'u2', 'u3');$names  = array('Bob', 'Fred', 'Joe');$emails = array('bob@mail.com', 'fred@mail.com', 'joe@mail.com');$ids    = array(1, 2, 3);$u_keys = array_fill( 0, count($names), array('name', 'email', 'id') );$users  = array_combine($keys,            array_map('mymap_arrays', $u_keys, $names, $emails, $ids)          );This returns:Array(    [u1] => Array        (            [name] => Bob            [email] => bob@mail.com            [id] => 1        )    [u2] => Array        (            [name] => Fred            [email] => fred@mail.com            [id] => 2        )    [u3] => Array        (            [name] => Joe            [email] => joe@mail.com            [id] => 3        ))EDIT: After a lot of benchmarking, this is the fastest solution I've come up withfunction test_my_new() {    $args    = func_get_args();    $keys    = array_shift($args);    $vkeys   = array_shift($args);    $results = array();    foreach($args as $key => $array) {        $vkey = array_shift($vkeys);        foreach($array as $akey => $val) {            $result[ $keys[$akey] ][$vkey] = $val;        }    }    return $result;}$keys   = array('u1', 'u2', 'u3');$names  = array('Bob', 'Fred', 'Joe');$emails = array('bob@mail.com', 'fred@mail.com', 'joe@mail.com');$ids    = array(1,2,3);$vkeys  = array('name', 'email', 'id');test_my_new($keys, $vkeys, $names, $emails, $ids);
Combining 3 or more arrays in php
php;array