0

在 while 循环中从数据库中回显结果,以便我可以一次回显其中的 5 个。目前已将标准字符串放入循环中以进行测试。<li>元素的样式有一个属性border-bottom。是否可以回显最后一个结果(数字 5)以应用另一个类来排除边界?

$i = 1;
while($i <= 5) {
    // On the 5th, change the class here to rule out the border-bottom.
    echo "<li>jQuery &amp;HTML5 audio player.</li>";
    $i++;
}

那么,在那里的某个地方,抛出一个 if 语句?对不起。这可能真的很简单,但这是漫长的一天

4

5 回答 5

2

您不能根据您的计数器在循环和输出中使用简单的检查吗?

<?php
    $i = 1;
    while($i <= 5)
    {
        if($i<5)
        {
            echo "<li>jQuery &amp;HTML5 audio player.</li>"; 
        }
        else
        {
            echo "<li class='fluffeh'>jQuery &amp;HTML5 audio player.</li>"; 
        }
        // On the 5th, change the class here to rule out the border-bottom.
        $i++;
    }       
?>

或者,如果您希望每五分之一不同,您可以这样做:

<?php
    $i = 1;
    while($i <= 10)
    {
        if($i%5!=0)
        {
            echo "<li>jQuery &amp;HTML5 audio player.</li>"; 
        }
        else
        {
            echo "<li class='fluffeh'>jQuery &amp;HTML5 audio player.</li>"; 
        }
        // On the 5th, change the class here to rule out the border-bottom.
        $i++;
    }       
?>
于 2013-10-03T23:25:48.333 回答
1
<?php
$i = 1;
while($i <= 5){
    $class = "";
    if($i===5)
        $class = " class=\"last\"";
    echo "<li$class>jQuery &amp;HTML5 audio player.</li>"; // On the 5th, change the class here to rule out the border-bottom.
    $i++;
}

当然,这是对封闭问题的盲目回答,如果您遵循其他人回答的建议,您会做得更好。

于 2013-10-03T23:25:22.133 回答
0

你已经有一个计数器,你的变量 $i。您计数的变量 $i 知道何时到达第 5 个循环以结束循环。

您也可以将它用于 if- 或其他语句以在第三个或第二个元素或其他内容中执行某些操作,例如,当 $i 计数为 4 时,它应该输出其他类或执行函数或其他操作。

您所要做的就是询问,当达到 5 循环时插入一个类:

<?php
  $class = null;
  $li_element = null;
  for($i=0;$i<=5;$i++)
  {
    if($i==5)
    {
      $class="last_element";
    }
    $li_element .= '<li '.$class.'>...</li>';
  }

  echo '<ul>'.$li_element.'</ul>';
于 2013-10-03T23:37:32.997 回答
0

如果您不想在代码中添加太多行,也可以执行以下操作:

$i = 1;
while ($i<= 5) {
    echo ($i < 5) ? "<li>jQuery &amp;HTML5 audio player.</li>" : "<li class='someclass'>jQuery &amp;HTML5 audio player.</li>";
    $i++;
}

作为“someclass”你想要应用到最后 li 的样式。

于 2013-10-04T00:42:55.747 回答
0

与其总是使用数字 5 作为占位符,不如计算数组中的元素,如果是最后一个,则省略该行。

$elementsCount = count($elements);
for ($index = 0; $index < $elementsCount; ++$index) {
    $class = $index == $elementsCount - 1 ? 'lastElement' : 'standardElement';
    echo '
        <li class="', $class, '">', $elements[$index], '</li>';
}
于 2013-10-03T23:33:52.367 回答