2015-10-13 126 views
0

我需要從一個值減去10,直到它低於10,然後在循環之外使用它,但該值似乎沒有改變。 我不知道我有多少錯誤,但我敢打賭,這是很多!For循環不改變值

$x = 1987; 
$y = 2015; 
$b = $y - $x; 
for($b; $b > 10; $b - 10){ 
    echo $b; //This is supposed to be echo:ed when the loop is done 
} 

在此先感謝!

回答

3

你實際上並沒有修改$b

$x = 1987; 
$y = 2015; 
$b = $y - $x; 
for($b; $b > 10; $b = $b - 10) { // <- this line 
    echo $b; 
} 

而且,沒有必要初始$b這裏:

for(; $b > 10; $b = $b - 10) { 

或者你可以擺脫:

$b = $y - $x; 

只需使用:

for($b = $y - $x; $b > 10; $b = $b - 10) { 
+2

可以縮短,要'$ B - = 10' –

+0

你也不需要的對... – Random

+0

第一部分完美地工作! –

0
$x = 1987; 
$y = 2015; 
$b = $y - $x; 
for(; $b > 10; $b -= 10); 
echo $b; 

回聲只有在完成循環後纔會發生。這會將$b的值減少10倍。$b將在循環後變爲less than 10

0
$x = 1987; 
$y = 2015; 
$b = $y - $x; 
for($b; $b > 10; $b -= 10) { 
    echo $b; 
} 
1

或者你可以只是做

$x = 1987; 
$y = 2015; 
$b = ($y - $x) % 10; 

這是你正在做的基本上是什麼,只有你選擇了與for循環:)

0

一個艱辛的道路,而循環是更具可讀性比for循環要好。另外,在循環完成後放置echo語句。

$x = 1987; 
$y = 2015; 
$b = $y - $x; 
while($b > 10) { 
    $b -= 10; 
} 
echo $b;