PDO:按列值对关联数组进行分组
按特定列值对数据进行分组对于组织和操作数据集非常有用。本问题探讨了一种使用 PDO 的 fetchAll 方法来实现此目的的方法。
提供的示例演示了包含姓名、年龄、性别和职位等列的员工数据集。目标是获得按名称列分组的关联数组,从而产生如下数组结构:
[ 'Antony' => ['age' => 34, 'sex' => 'M', 'position' => 'programmer'], 'Sally' => ['age' => 30, 'sex' => 'F', 'position' => 'manager'], 'Matthew' => ['age' => 28, 'sex' => 'M', 'position' => 'designer'], ]
使用 PDO::FETCH_GROUP|PDO::FETCH_ASSOC 的初始方法引入了不需要的嵌套级别。为了解决这个问题,问题建议使用带有 PDO::FETCH_GROUP|PDO::FETCH_ASSOC|PDO::FETCH_FUNC 的回调函数。但是,它遇到了回调函数接收单个元素而不是数组的问题。
此问题的解决方案是使用 PDO::FETCH_GROUP|PDO::FETCH_UNIQUE。此方法将第一列指定为数组键,并将其余列设置为值,从而生成所需的分组关联数组,而无需不必要的嵌套或数组操作。
以上是如何使用 PDO 按列值对关联数组进行分组?的详细内容。更多信息请关注PHP中文网其他相关文章!