有没有更好的方法在PHP中执行此操作

时间:2016-05-16 13:38:58

标签: 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-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>";
}

3 个答案:

答案 0 :(得分:14)

你可以使用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;

答案 1 :(得分:14)

您可以使用str_repeat

if ($empty > 0) {
    echo str_repeat("<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>", $empty);
}

答案 2 :(得分:1)

正如我从你的问题中看到的,你需要使用一个循环:

var dibujo, lienzo;
function inicio() {

 dibujo = document.getElementById('dibujito');
 lienzo = dibujo.getContext('2d');
 dibujarGrilla(lienzo);

 lienzo.moveTo(0,0);
 lienzo.lineTo(300,1);
 lienzo.lineTo(300,300);
 lienzo.lineTo(1,300);
 lienzo.lineTo(0,0);
 lienzo.strokeStyle = '#f00';
 lienzo.stroke();

 lienzo.beginPath();
 lienzo.strokeStyle = '#00f';
 lienzo.arc(150,150,100,(Math.PI * 2),false);
 lienzo.closePath();
 lienzo.stroke();
}

function dibujarGrilla(l) {
    var ancho = 300, alto = 300;
    var linea;
    for (linea = 0; linea < 10; linea++){
        lienzo.beginPath();
        lienzo.strokeStyle = '#aaa';
        lienzo.moveTo(linea * 10, 0);
        lienzo.lineTo(linea * 10, 300)
        lienzo.closePath();
        lienzo.stroke();
    }
}

此代码将根据您的需要显示尽可能多的空行。 <?php $empty = 4; for( $i = 0; $i < $empty; $i ++){ echo "<li class='col-sm-4'><div class='horse-wrap empty'>Empty</div></li>"; } 是他们的计数。