如何在PHP中操纵While循环的最终输出?

时间:2018-11-17 16:01:01

标签: php while-loop

我想操纵while循环的结束输出

在此示例中,我使用数字5代替变量。

<?php $i=1; while($i<=5)  {
echo "col-md-" . round(12/5) . "<br>";
$i++;
} ?>

给出

的输出
  • col-md-2
  • col-md-2
  • col-md-2
  • col-md-2
  • col-md-2 --->我想通过应用下方数学 >>

    在此处显示 4

    12-(5-1)*回合(12/5)

您能帮我吗?可能吗? 非常感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

一种选择是在变量$i递增之前检查其是否等于5:

$i=1;
while($i<=5)  {
    echo "col-md-" . round(12/5) . "<br>";

    if ($i === 5) {
        echo "col-md-" . (12-(5-1)*round(12/5));
    }
    $i++;
}

如果它始终在末尾,则可以在while循环之后添加它:

echo "col-md-" .  (12-(5-1)*round(12/5));

答案 1 :(得分:1)

一种替代方法是使用$count = 5; // Number of columns for ( $i = 1; $i < $count; $i++ ) { echo "col-md-" . round(12/$count) . "<br>"; } echo "col-md-" . (12-($count-1)*round(12/$count)) . "<br>"; 循环并提前结束它,然后在...之后输出额外的列。

col-md-2<br>col-md-2<br>col-md-2<br>col-md-2<br>col-md-4<br>

哪个给...

{{1}}

答案 2 :(得分:0)

这是最终的代码,解决了我的问题。

$count = 1; // Number of columns 
for ( $i = 1; $i < $count; $i++ ) { 
  echo "col-md-" . floor(12/$count) . "<br>"; 
} 

if (($count == 5 || 7 || 8 || 9 || 10 || 11)) { 
 echo "col-md-" . (12-($count-1)*floor(12/$count)) . "<br>"; 
} 

感谢@nigel和@thefourthbird。