使用 PDO 在结果中使用列的值作为索引
在数据库编程领域,经常会遇到查询结果需要索引方式与默认增量方法不同。像此查询中所示的特定场景表明需要一种更清洁、更高效的解决方案。
查询:
我们的示例涉及名为“brands”的 SQL 表' 包含“id”、“name”和“url”列。其中包含的数据集如下所示:
1, Solidfloor, solidfloor 2, Quickstep, quickstep 4, Cleanfloor, cleanfloor 5, Blue Dolphin, blue-dolphin 6, Krono, krono 8, Meister, meister
问题陈述:
获取所有这些记录通常会产生一个具有增量索引的数组。但是,要求是使用“id”列对这些数组进行索引。对结果集进行暴力循环是一种可行的选择,但不是最佳选择。
PDO 的独特解决方案:
PDO 通过 PDO 提供了一个出色的解决方案:: FETCH_UNIQUE 获取模式。使用时,此模式允许通过 SELECT 子句中定义的第一个字段对结果数组进行索引。在我们的例子中,使用“*”时,它将是“id”字段。
代码实现:
$data = $pdo->query('SELECT * FROM brands')->fetchAll(PDO::FETCH_UNIQUE);
输出格式:
因此,您将获得一个数组,其中索引对应于“id”值。例如,结果如下所示:
1 => array( 'name' => 'Solidfloor', 'url' => 'solidfloor', ), 2 => array( 'name' => 'Quickstep', 'url' => 'quickstep', ), 4 => array( 'name' => 'Cleanfloor', 'url' => 'cleanfloor', )
通过利用 PDO::FETCH_UNIQUE,您可以优雅地实现所需的索引,而无需诉诸繁琐的循环操作。
以上是如何使用列的值作为 PDO 查询结果的索引?的详细内容。更多信息请关注PHP中文网其他相关文章!