繁体   English   中英

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

[英]how can i manipulate the end output of a While Loop in PHP?

我想操纵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)

你能帮我这个忙吗? 可能吗? 非常感谢您的帮助。

一种选择是在变量$i递增之前检查变量$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));

一种替代方法是使用for()循环并提前结束它,然后在之后输出额外的列...

$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>

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

$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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM