有没有更好的方法在PHP中实现这一点

有没有更好的方法在PHP中实现这一点,php,Php,我使用这段代码根据数据库中的值生成行,我确信有一种更有效的方法可以做到这一点,但我不确定如何做到 if ($empty == 1) { echo "<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>"; } if ($empty == 2) { echo "<li class='col-sm-4'><div class='horse

我使用这段代码根据数据库中的值生成行,我确信有一种更有效的方法可以做到这一点,但我不确定如何做到

if ($empty == 1) {
    echo "<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>";
}
if ($empty == 2) {
    echo "<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>";
    echo "<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>";
}
if ($empty == 3) {
    echo "<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>";
    echo "<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>";
    echo "<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>";
}
if ($empty == 4) {
    echo "<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>";
    echo "<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>";
    echo "<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>";
    echo "<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>";
}
if($empty==1){
回声“
  • 空的”
  • ; } 如果($empty==2){ 回声“
  • 空的”
  • ; 回声“
  • 空的”
  • ; } 如果($empty==3){ 回声“
  • 空的”
  • ; 回声“
  • 空的”
  • ; 回声“
  • 空的”
  • ; } 如果($empty==4){ 回声“
  • 空的”
  • ; 回声“
  • 空的”
  • ; 回声“
  • 空的”
  • ; 回声“
  • 空的”
  • ; }
    您可以使用for循环:

    $empty = 5;
    $str = '';
    for(i=0;$i<$empty;$i++) {
        $str .= "<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>";
    }
    echo $str;
    
    $empty=5;
    $str='';
    
    对于(i=0;$i,正如我从您的问题中看到的,您需要使用循环:

    <?php
      $empty = 4;
      for( $i = 0; $i < $empty; $i ++){
       echo "<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>";
      }
    
    您可以使用:

    if ($empty > 0) {
        echo str_repeat("<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>", $empty);
    }
    
    if($empty>0){
    echo str_repeat(“
  • 空的
  • ”,$Empty); }
    使用开关进行此操作。您能详细解释一下吗?老实说,不需要
    if(){}
    stru repeat()
    如果提供了零,则不会输出任何内容。@MonkeyZeus为什么在不需要的情况下执行函数?首先检查会更快我想这是真的。在PHP7.0.5上进行1000000次迭代后,性能差异约为0.056秒,有利于
    if()
    子句。另一个小技巧是,如果
    $empty
    大于零,则
    if()
    语句实际上会增加处理时间。