$array = ["a" => [11, 12], "b" => [21, 22]];
array_map(function($values) use (&$array) {
$keys = array_keys($array);
return array_reduce($values, function($carry, $value) use (&$keys) {
$carry[array_shift($keys)] = $value;
return $carry;
}, []);
}, array_values($array));
Еще короче вариант
array_map(fn($key) => array_combine(array_keys($array), $array[$key]), array_keys($array))
Альтернативный
array_map(function ($key) use (&$array) {
return array_combine(array_keys($array), $array[$key]);
}, array_keys($array));