首页 > 解决方案 > 如何使用 php 将数组项映射到内部数组?

问题描述

我有一个需要重做的数组(最好是PHP的内置函数):

[
   0 => ['ax' => 'Aland Islands'],
   1 => ['as' => 'American Samoa'],
   2 => ['am' => 'Armenia']
];

需要重新制作:

[
    'ax' => 'Aland Islands'
    'as' => 'American Samoa'
    'am' => 'Armenia'
];

标签: phparraysmultidimensional-array

解决方案


使用array_reduce()

$array = [
    0 => ['ax' => 'Aland Islands'],
    1 => ['as' => 'American Samoa'],
    2 => ['am' => 'Armenia']
 ];

print_r(
    array_reduce($array, 
                    function ($c, $i) {
                        return array_merge($c, $i);
                    },
                    []
                )
       );

输出:

数组
(
 [ax] => 奥兰群岛
 [as] => 美属萨摩亚
 [am] => 亚美尼亚
)

一个非常有用的功能,远远超出 sum/product 累加​​!


推荐阅读