我知道我可以做一个正常的循环与全整数这样For循环递增时间45分钟
for($i=0;$i<10;$i++)
{
echo $i;
}
问题:
我通过一个循环不是整数,但与
要循环漂浮
次(45分钟)。我想要的结果是这样的:
0.45
1.30
2.15
3.00
3.45
...
PHP中是否有任何帮助函数来实现它?
我知道我可以做一个正常的循环与全整数这样For循环递增时间45分钟
for($i=0;$i<10;$i++)
{
echo $i;
}
问题:
我通过一个循环不是整数,但与
要循环漂浮
次(45分钟)。我想要的结果是这样的:
0.45
1.30
2.15
3.00
3.45
...
PHP中是否有任何帮助函数来实现它?
阅读注释,并看到你真的想用时间来工作,你甚至可以用一个DateTime
对象内部的for循环
下面是一些示例代码:
for (
$d = new DateTime('00:00'), // Initialise DateTime object .
$i = new DateInterval('PT45M'); // New 45 minute date interval
$d->format('H') < 10; // While hours (24h) less than 10
$d->add($i) // Add the interval to the DateTime object
)
{
echo $d->format("H:i\n");
}
+1给你先生。删除我的答案,这是好得多。 –
也许是这样的:
for ($i=1; $i<=10; $i++) {
echo $i * 0.45."<br />";
}
我不会依赖于该浮点数。原因是四舍五入。
你通常做的是使用一个int,然后除法。
for($i=0, $j=0; $i < $MAX; $i += 45, $j = $i/100)
{
echo $j;
}
你可以简单的使用
for($i=0.0;$i<10.0;$i=$i+0.45)
{
echo $i;
}
我不知道我会使用浮点值来控制循环本身,尤其是考虑到他们的不精确性倾向:-)
由于您似乎有一个公式,您可以简单地使用循环内的公式:
for ($i = 0; $ < 10; $i++) {
$num = 0.45 + $i * 0.85;
echo $num;
}
这允许循环由一个整数控制,并且简单地给出基于该整数的浮点值。
你试过了吗? PHP文档没有说明在for循环中不支持浮点数。 –
那些应该是时代? –
乘以100,循环再分。 – dmaij