我有2個變量,其值爲1
和0.5
。 我有一個總的200
,我想有過2個變量循環通過有自己的價值觀增加他們,然後停止,當他們擊中200
使用循環遞增值
難道這在for loop
做我最初看使用一個for循環使用:
for($i=$var1;$i<=$total;$i++)
{
}
這對一個變量工作正常。
感謝
我有2個變量,其值爲1
和0.5
。 我有一個總的200
,我想有過2個變量循環通過有自己的價值觀增加他們,然後停止,當他們擊中200
使用循環遞增值
難道這在for loop
做我最初看使用一個for循環使用:
for($i=$var1;$i<=$total;$i++)
{
}
這對一個變量工作正常。
感謝
如果你把在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
但我認爲這會有更糟糕的表現,然後增加它;
但我該如何做,如果在'var1 + var2 = 200'的循環中,然後停止循環? –
@sipher_z你是認真的嗎? ($ i = 1,$ j = 0.5;($ i + $ j)<200; $ i ++,$ j + = 0.5){' – Vyktor
一切皆有可能在編程
做了$ I = 1;
for ($i=1;$<=200;$i++);
和$我這樣做= 0.5
for($i=.5; $i<=200;$i+.5);
他們是一些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);
}
是其可能的,你有什麼問題嗎?你有沒有嘗試過實施它? – Baba
是的,你可以,但你首先必須是80級才能做所有這些史詩般的事情.. – dbf
而史詩'foreach'需要等級85 ..:| – dbf