我有2个变量,其值为1
和0.5
。
我总共有200
,我希望通过2个变量循环增加它们自己的值,然后在它们点击200
时停止
可以在for loop
我最初使用for循环查看:
for($i=$var1;$i<=$total;$i++)
{
}
这适用于其中一个变量。
由于
答案 0 :(得分:3)
如果仔细查看for
loop,它支持如下语法:
for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
所以你基本上可以这样做:
for( $i = 1, $j = 0.5; $i < 200; $i++, $j += 0.5){
// Do stuff
}
虽然我认为这可能会让一些人感到困惑,但用这种方式编写它会更具可读性:
$j = 0;
for( $i = 0; $i < 200; $i++){
// do stuff
$j += 0;
}
或者您也可以在每个步骤中计算$j
:
$j = $i/2; // Before do stuff block
但我认为这会有更糟糕的表现,然后只是增加它;
答案 1 :(得分:1)
他们是一些know issues使用float
中的增量,此处live example显示Output for 4.3.10 - 4.4.9, 5.0.2 - 5.5.0beta2
受影响的
您可以使用printf
部分修复此问题或将其简单转换为整数然后再转换为浮动
$var = 0.5;
for($i = 0; $i < 200; $i += $var) {
printf("%.1f\n", $i);
}
答案 2 :(得分:0)
编程中的一切都是可能的
为$ i = 1;
执行此操作for ($i=1;$<=200;$i++);
并为$ i = .5
执行此操作for($i=.5; $i<=200;$i+.5);