【问题标题】:Easiest way to make DB records as array keys [duplicate]将数据库记录作为数组键的最简单方法[重复]
【发布时间】:2014-03-05 09:02:40
【问题描述】:

在 PHP 中以 id 值作为键来获取或操作 MySQL 结果的最简单和最快的方法是什么?我知道我们可以简单地遍历整个结果集等等。但是,最快且最简单的方法是什么?

即转换,

Array
(
    [0] => Array
        (
            [id] => 1
            [user_name] => user1
        )

    [1] => Array
        (
            [id] => 3        
            [user_name] => user3
        )

)

到这个。

Array
(
    [1] => Array
        (
            [id] => 1
            [user_name] => user1
        )

    [3] => Array
        (
            [id] => 3        
            [user_name] => user3
        )

)

这个问题可能会面临一些反对意见。但是,我认为对此的任何回答都会对许多人有所帮助。

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    使用array_column()

    $new_array = array_column($old_array, NULL, 'id');
    print_r($new_array);
    

    【讨论】:

    • 将第二个参数设置为NULL,将id保留在结果中
    • 不,那么key 将被删除并且数组将被零索引
    • 他希望id 用作新数组的键
    • 糟糕,没错,我会更新我的答案
    【解决方案2】:

    所以以id为key来构造数组。

    $result = array();
    while ($row = db_dummy_fetch_method($res)) {
        $result[$row['id']] = $row;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-13
      • 2021-03-21
      • 2021-11-27
      • 2014-10-27
      • 2013-04-07
      • 1970-01-01
      • 2021-09-19
      相关资源
      最近更新 更多