我有一个像这样的数组
array(){
[0] => Object(
lvl => 0,
name ='1'
),
[1] => Object(
lvl => 1,
name ='2'
),
[2] => Object(
lvl => 2,
name ='3'
),
[3] => Object(
lvl => 1,
name ='4'
),
[4] => Object(
lvl => 0,
name ='5'
),
}
我必须在html中创建多个列表(列表类似子类别等)我该怎么做?
答案 0 :(得分:1)
这样的事情:
foreach ($array as $object) {
echo '<p class="level', $object->lvl, '">', $object->name, '</p>';
}
您必须在CSS文件中定义类(level1,level2,level3 ...)。
或者您可以使用一些符号来缩进。像这样:
echo '<p>', str_repeat('-', $object->lvl), $object->name, '</p>';
答案 1 :(得分:1)
如果您需要带有ul,li标签的列表,请尝试使用此代码。它应该工作。
$lastLvl = 1;
echo '<ul>';
foreach ($array as $object) {
if ($object->lvl < $lastLvl) {
for ($i = 1; $i <= ($lastLvl - $object->lvl); $i++)
echo '</ul>';
}
if ($object->lvl > $lastLvl) {
for ($i = 1; $i <= ($object->lvl - $lastLvl); $i++)
echo '<ul>';
}
echo '<li>', $object->name, '</li>';
$lastLvl = $object->lvl;
}
for ($i = 1; $i <= $lastLvl; $i++)
echo '</ul>';