PHP MySQL PDO结果到递归关联数组?
我有一个PHP MySQL PDO结果到递归关联数组?,php,mysql,pdo,iteration,Php,Mysql,Pdo,Iteration,我有一个MySQL表: +---------+------------------------+-----------+ | topicID | questionTopics_topicID | topicName | +---------+------------------------+-----------+ | 1 | 1 | Root | | 2 | 1 | Color
MySQL
表:
+---------+------------------------+-----------+
| topicID | questionTopics_topicID | topicName |
+---------+------------------------+-----------+
| 1 | 1 | Root |
| 2 | 1 | Colors |
| 3 | 2 | Black |
| 4 | 2 | White |
| 5 | 1 | Animals |
| 6 | 5 | Dog |
| 7 | 5 | Cat |
+---------+------------------------+-----------+
我想要一个PHP数组
,其中结果集作为questionTopics\u-topicID
获取,作为父级:
$array = array(
"Animals" => array(
6 => "Dog",
7 => "Cat"
),
"Colors" => array(
3 => "Black",
4 => "White"
),
);
目前,我对结果集进行2次迭代,首先添加主要类别
(颜色、动物),然后添加子类别
(狗、白色)
是否有任何方法可以在不进行手动迭代的情况下使用
PDO实现相同的最终结果?如果只有两个级别,请将表连接到自身,然后使用fetchAll示例中的分组。您可以将表与自身连接,并在一个查询中同时获取这两个级别。大概是这样的: