我无法在以下代码中生成与</ul>
相同数量的<ul>
:
<?php
$array=array("item1","item2","item3");
for ($i=0;$i<count($array);$i++)
{
if($i<count($array)-1)
{
echo '<li><span>'.$array[$i].'</span><ul>';
}
else
{
echo '<li><span>'.$array[$i].'</span>';
}
}
for ($i=0;$i<count($array);$i++)
{
echo '</ul></li>';
}
?>
代码生成的<li><ul>
和</ul></li>
数量不均匀。请告诉我哪里出错了?
答案 0 :(得分:1)
这是一个小错误。在您的第二个for语句更改$i<count($array);
到$i<count($array)-1;
。
所以你的最终代码将是:
<?php
$array=array("item1","item2","item3");
for ($i=0;$i<count($array);$i++)
{
if($i<count($array)-1)
{
echo '<li><span>'.$array[$i].'</span><ul>';
}
else
{
echo '<li><span>'.$array[$i].'</span>';
}
}
for ($i=0;$i<count($array)-1;$i++)
{
echo '</ul></li>';
}
?>
答案 1 :(得分:0)
使用if($i<count($array)-1)
检查$ i是否小于长度 - 1.
在第二个循环中不执行该检查。所以第一个实际上执行的步骤与第二个步骤相同,但只在最后一次迭代中写入。
答案 2 :(得分:0)
试试这个:
$array=array("item1","item2","item3");
echo '<ul>';
for ($i=0;$i<count($array);$i++)
{
echo '<li><span>'.$array[$i].'</span></li>';
}
echo '</ul>;