一个 MYSQL 查询让我得到了这个对象数组(缩短了一点):
Array
(
[0] => stdClass Object
(
[parentTitle] => Winner 2009
[catTitle] => Max Muster
[title] => drm202
)
[1] => stdClass Object
(
[parentTitle] => Winner 2009
[catTitle] => Max Muster
[title] => drm202
)
[2] => stdClass Object
(
[parentTitle] => Winner 2011
[catTitle] => Josh Frank
[title] => A bird in the cage
)
[3] => stdClass Object
(
[parentTitle] => Winner 2011
[catTitle] => Josh Frank
[title] => cue & repeat
)
...
)
如何从这个数组中构建一个无序的 Html 列表,如下所示:
<ul id="content">
<li>Winner 2009
<ul>
<li>Max Muster
<ul>
<li>drm202</li>
</ul>
</li>
</ul>
</li>
<li>Winner 2011
<ul>
<li>Josh Frank
<ul>
<li>A bird in the cage</li>
<li>cue & repeat</li>
</ul>
</li>
</ul>
</li>
</ul>
前两个对象是相同的,因此在 ul 中,person + title 应该只在 parent 获胜者 2009 下列出一次。2011 年的获胜者有两个获胜项目,因此这两个不同的项目应该列在他的下面。
我的方法是有一个填充数组的 foreach 循环
foreach ($results as $object) {
// fill array
$array[] = "</ul><ul><li><h2> " . $object->parentTitle . "</h2>\n</li>";
$array[] = "<li><h5>" . $object->catTitle . "</h5></li>\n";
$array[] = "<li> - " . $object->title . "</li>\n";
}
并踢出双打
$array = array_unique($array);
这种方式似乎非常不方便和错误。
谢谢你的帮助,
托尼