Php 从具有级别的数组创建html列表
我有一个这样的数组Php 从具有级别的数组创建html列表,php,html,Php,Html,我有一个这样的数组 array(){ [0] => Object( lvl => 0, name ='1' ), [1] => Object( lvl => 1, name ='2' ), [2] => Object( lvl => 2, name ='3' ), [3] => Object
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中创建多个列表(类似于带有子类别的类别列表等),我如何才能做到这一点?类似这样的事情怎么样:
foreach ($array as $object) {
echo '<p class="level', $object->lvl, '">', $object->name, '</p>';
}
foreach($array as$object){
echo'”,$object->name'
”;
}
然后,您必须在CSS文件中定义类(level1、level2、level3…)
或者你可以用一些符号来表示缩进。像这样:
echo '<p>', str_repeat('-', $object->lvl), $object->name, '</p>';
echo'',str_repeat('-',$object->lvl),$object->name,“”;
如果您需要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>';
$lastLvl=1;
回声“”;
foreach($array作为$object){
如果($object->lvl<$lastLvl){
对于($i=1;$i lvl);$i++)
回声“
”;
}
如果($object->lvl>$lastLvl){
对于($i=1;$i lvl-$lastLvl);$i++)
回声“”;
}
回显“- ”,$object->name“
”;
$lastLvl=$object->lvl;
}
对于($i=1;$i请尝试一下,然后问问题。可能会有帮助。不过。你说的html中的多列表是什么意思?你是指下拉列表还是纯文本?更具体一点。ehh你不明白我想用子列表创建列表,比如1…2…3…4 5
,但我不知道如何解析列表som的数组看起来像什么