【问题标题】:How transform a php multidimensional array into a new array using the first column as key?如何使用第一列作为键将php多维数组转换为新数组?
【发布时间】:2010-12-30 23:50:08
【问题描述】:

我正在尝试使用数组函数(我考虑过 array_map 或 array_walk,但无法让它做我想要的),以便使用多维数组(如 MySQL 结果)创建一个数组将数组中的字段放入新的键中。

假设我有一个这样的数组:

$a = array(
    0 => array( 'id' => 1, 'name' => 'john' ), 
    1 => array( 'id' => 28, 'name' => 'peter' )
);

我想得到另一个这样的数组:

$b = array(
    1 => array( 'name' => 'john' ), 
    28 => array( 'name' => 'peter' )
);

我可以用一个简单的 foreach 循环来解决它,但我想知道是否有更有效的方法,使用内置函数。

【问题讨论】:

    标签: php arrays multidimensional-array


    【解决方案1】:

    array_maparray_walk 不允许您更改密钥。 foreach 循环绝对是要走的路。在很多时候,foreach 甚至可以比 array_walk/array_map 更有效。

    【讨论】:

      【解决方案2】:

      您可以使用 array_column 函数输出接近您想要的结果

      array_column($a, null, 'id')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-04
        • 2011-08-24
        • 2019-04-03
        • 2023-03-12
        • 2015-11-17
        相关资源
        最近更新 更多