php循环数学问题

时间:2014-12-04 10:16:49

标签: php loops count

嗨,我们可以说我们有这个值:

$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值的公式 感谢

5 个答案:

答案 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/>';

 }