首页 > 解决方案 > php对来自数据库的结果进行分组,在数组之间推送

问题描述

我正在尝试在 PHP 中对数据库中的结果进行分组。到目前为止,我(几乎)通过使用以下代码让它工作得很好:

$results = $this->getRecords();
$records = [];

foreach($results as $record) {
$setOfData = [
 'name' => $record['name']
]
  $records[$record['id_category']][] = $setOfData;
}

变成这样:

在此处输入图像描述

虽然我真正想要的是拥有另一个描述类别名称的数组,然后输出内容,如下所示:

在此处输入图像描述

我尝试过将新元素推入数组之类的方法,但这会使分组消失。

$records[$record['id_category']][] = ['name' => $records['category_name'], 'records' => $setOfData];

使用递归实现这一目标的最佳方法是什么,或者仍然可以“简单”地完成?

标签: phpmysqlarraysrecursiongrouping

解决方案


推荐阅读