PHP - 使用 array_map 将键多维数组更改为数组关联

Fad*_*zil 3 php arrays multidimensional-array

有时,为了兼容很多php框架上的activerecord,我们有一个数组,然后创建一个适合它的临时数组。

因此,如果我们不需要创建临时数组,那就更优雅了。我最喜欢的是 array_map。如果像这样的数组会怎样:

Array
(
[0] => Array
    (
        [0] => 2017-05-19
        [1] => HEUNG-A_HCHIMINH_0010S
    )

[1] => Array
    (
        [0] => 2017-05-19
        [1] => KITI_BHUM
    )

)
Run Code Online (Sandbox Code Playgroud)

进入

Array
(
   [0] => Array
       (
         [date] => 2017-04-15
         [vessel] => KMTC_HOCHIMINH
)

   [1] => Array
       (
         [date] => 2017-04-15
         [vessel] => OCL_NAGOYA
       )
)
Run Code Online (Sandbox Code Playgroud)

我需要使用 array_map。

请指教。

Ens*_*age 6

array_walk($arr, function(&$v) {
    $v = array_combine(['date', 'vessel'], $v);
});
Run Code Online (Sandbox Code Playgroud)

...或者...

$arr = array_map('array_combine', array_fill(0, count($arr), ['date', 'vessel']), $arr);
Run Code Online (Sandbox Code Playgroud)

...或者...

$arr = array_map(function($a) {
    return array_combine(['date', 'vessel'], $a);
}, $arr);
Run Code Online (Sandbox Code Playgroud)