嗨,我们可以说我们有这个值:
$total = 317;
$x = 5;
$numpages = ceil($total / $x);
我需要循环超过$ total值并回显像这样的结果
i=1 , numpage = 1
i=2 , numpage = 1
i=3 , numpage = 1
i=4 , numpage = 1
i=5 , numpage = 1
i=6 , numpage = 2
i=7 , numpage = 2
i=8 , numpage = 2
i=9 , numpage = 2
i=10 , numpage = 2
until....
i=317 , numpage = 64
我不想使用像这样的手册if语句
for ($i = 0; $i <= $total; $i++) {
if($i <= 5)
numpage = 1
if($i <= 10)
numpage = 2
}
因为$ x = 5;可以改变,因为我想要我需要适用于任何x值的公式 感谢
答案 0 :(得分:1)
你可以这样做:
for ($i = 0; $i <= $total; $i++) {
$numpage = ceil($i/5);//$ was missing
}
答案 1 :(得分:0)
在这里,
$total = 100; //Can be any number
$x = 5; //Can be any number
for ($i = 1; $i <= $total; $i++) {
if($i % $x != 0){
$pageNo = floor($i / $x) + 1;
}
echo "Page $pageNo for value $i\n";
}
<强> DEMO 强>
答案 2 :(得分:0)
试试这个:
$total = 317;
$x = 5;
for ($i = 0; $i <= ($total-1); $i++)
{
$currentPage = floor($i / $x) + 1;
echo 'i = '. ($i+1). ' , numpage = '.$currentPage.'<br />';
}
答案 3 :(得分:0)
for ($i = 1; $i <= $total; $i++) {
$numpage = ceil($i/5);
print "i = $i, numpage = $numpage"."\n";
}
答案 4 :(得分:0)
您可以尝试以下代码
$numpage = 0;
for ($i = 1; $i <= $total; $i++) {
$numpage = (($i-1) % 5 == 0)?$numpage +1:$numpage;
echo 'i = '.$i.' , numpage '. $numpage.'<br/>';
}