有没有办法重复li类“ x”次?

时间:2019-07-07 14:52:02

标签: php html

我希望有一种方法可以大大改善我的代码。

我有一个li类,我需要根据php变量重复“ x”次。

我现在通过使用嵌套的IF语句来解决这个问题,但是肯定有更清洁的方法吗?

if ($pTotal == 5) {?>
<div class="point-container">
  <div class="row">
    <ul class="score">
      <li class='points'></li>
      <li class='points'></li>
      <li class='points'></li>
      <li class='points'></li>
      <li class='points'></li>
    </ul>
  </div>
</div>
<?php } elseif ($pTotal == 6) { ?>
<div class="point-container">
  <div class="row">
    <ul class="score">
      <li class='points'></li>
      <li class='points'></li>
      <li class='points'></li>
      <li class='points'></li>
      <li class='points'></li>
      <li class='points'></li>
    </ul>
  </div>
</div>
<?php } elseif ($pTotal == 7) { ?>

2 个答案:

答案 0 :(得分:1)

您可以轻松地使用str_repeat()将相同的文本块重复特定的次数...

$div = '<div class="point-container">
    <div class="row">
      <ul class="score">';
$div .= str_repeat("<li class='points'></li>", $pTotal);
$div .="</ul></div></div>";
echo $div;

答案 1 :(得分:1)

<?php function printLi(int $pTotal) { ?>
    <div class="point-container">
        <div class="row">
            <ul class="score">
                <?php for ($i = 0; $i < $pTotal; $i++): ?>
                    <li class='points'></li>
                <?php endfor; ?> 
            </ul>
        </div>
    </div>
<?php } ?>

<?php printLi($pTotal);