如何使用 PDO 检索按特定列分组的关联数组?

Linda Hamilton
发布: 2024-10-22 07:40:02
原创
966 人浏览过

How to Retrieve Associative Arrays Grouped by Specific Column with PDO?

使用 PDO 获取按列值分组的关联数组

问题:

在具有多个列的数据库中(例如, “姓名”、“年龄”、“性别”和“位置”),我们如何使用 PDO 的 fetchAll 方法检索特定格式的关联数组,其中每个数组的键是指定列中的字段(例如,“姓名”) )并且值是该键对应的行?

答案:

使用 PDO 的 fetchAll 方法,我们可以指定以下标志来实现所需的结果:

<code class="php">->fetchAll(\PDO::FETCH_GROUP|\PDO::FETCH_UNIQUE);</code>
登录后复制

通过组合 FETCH_GROUP 和 FETCH_UNIQUE,PDO 将自动按指定列对结果进行分组,并将第一列设置为每个组的键,同时排除重复记录。这消除了额外的嵌套级别或像当前这样的后处理操作的需要。

示例:

考虑以下示例数据集:

name age sex position
Antony 34 M programmer
Sally 30 F manager
Matthew 28 M designer

使用推荐的 fetch 方法,我们可以检索所需的结果数组:

<code class="php">$result = $pdo->query('SELECT * FROM employee')->fetchAll(\PDO::FETCH_GROUP|\PDO::FETCH_UNIQUE);

print_r($result);</code>
登录后复制

这将输出以下关联数组:

Array
(
  [Antony] => Array
    (
      [age] => 34
      [sex] => M
      [position] => programmer
    )

  [Sally] => Array
    (
      [age] => 30
      [sex] => F
      [position] => manager
    )

  [Matthew] => Array
    (
      [age] => 28
      [sex] => M
      [position] => designer
    )
)
登录后复制

以上是如何使用 PDO 检索按特定列分组的关联数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!