对于循环不改变值

时间:2015-10-13 20:33:30

标签: php

我需要从一个值中减去10,直到它低于10,然后在循环之外使用它,但值似乎没有改变。 我不确定我犯了多少错误,但我打赌它很多!

$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
}

提前致谢!

5 个答案:

答案 0 :(得分: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) {

答案 1 :(得分:1)

或者你可以做到

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

基本上你正在做的事情,只有你选择for循环的艰难方式:)

答案 2 :(得分:0)

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

只有在完成循环后才会发生回声。这会将$b值减少10倍。$b在循环后将为less than 10

答案 3 :(得分:0)

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

答案 4 :(得分:0)

while循环比for循环更易读。另外,在循环完成后放置echo语句。

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