如何在for循环或while循环中对每个计​​数中的静态值求和

时间:2017-11-09 10:36:06

标签: php mysql sql

这是我的代码,显示还剩下多少天:

 <?php

 $now = time(); // or your date as well
 $your_date = strtotime("11/19/2017");
 $datediff =  $your_date-$now;

 $jam=  round($datediff / (60 * 60 * 24));

 ?>
 <p class="counter-number"><?=$jam?></p>     

想象一下,如果天数之间的差异是10.那么我想在计数器中运行它

1st day :- 6 * 5 = 30
2nd day :- 6 * 5 + 30 = 60
3rd day :- 6 * 5 + 60 = 90 

然后等到10天然后总结。

请帮我解决这个问题。提前谢谢。

3 个答案:

答案 0 :(得分:1)

简单

$day = 0;
$sum = 0;
for($i = 0; $i < 10; $i++){
   $day += 6 * 5;
   $sum += $day;
   echo "Day $i = $day\n";
   echo "Sum $sum\n\n";
}

输出

Day 0 = 30
Sum 30

Day 1 = 60
Sum 90

Day 2 = 90
Sum 180

Day 3 = 120
Sum 300

Day 4 = 150
Sum 450

Day 5 = 180
Sum 630

Day 6 = 210
Sum 840

Day 7 = 240
Sum 1080

Day 8 = 270
Sum 1350

Day 9 = 300
Sum 1650

你可以在这里试试:

http://sandbox.onlinephpfunctions.com/code/910edb9e0aef99893c438a29e52b5cb51bdb32c3

+=基本上意味着$var += 5$var = $var + 5相同,因此在循环中它会获取前一个值并将其增加x个数量。

所以例如循环1

6 * 5 = 30
6 * 5 + 30 = 60
6 * 5 + 60 = 90

OR

6 * 5 = $x
6 * 5 + $x = $x
6 * 5 + $x + $x = $x

等......所以在每个循环中我们再添加一个$x

希望这是有道理的。

答案 1 :(得分:0)

您可以使用以下算法(伪代码):

$i=1;
$total=0;
while ($i <= 10)
{
   $total = $total + (6*5*$i);
   $i++;
}

答案 2 :(得分:0)

我不确定你是否在寻找这个,因为你的问题有点令人困惑。

 $now = time(); // or your date as well
 $your_date = strtotime("$mydate");
 $datediff =  $your_date-$now;

 $jam=  round($datediff / (60 * 60 * 24));

 $sum = 0;
 for($i = 0; $i < $jam; $i++){
    $sum += 6 * 5 + (30 * $i);
 }
 echo $sum;

使用适当的变量

更改条件中$ i的值