我正在尝试使用while
循环编写Fizz Buzz脚本,以便将每个数字1-100
和echo
循环到屏幕上。
我正在使用模数运算符来查找数字是否为以下数字的倍数:
我已经编写了下面的代码,测试了它的所有部分,它似乎工作正常,但是当我运行脚本时,它会陷入无限循环,回显Fizz
。
$i = 1;
while ($i <= 100) {
if ((3 % $i) === 0) {
echo 'Fizz';
$i = $i++;
} else if ((5 % $i) === 0) {
$i = $i++;
echo 'Buzz';
} else if ( ((3 % $i) === 0) && ((5 % $i) === 0)){
echo 'FizzBuzz';
} else {
echo $i++;
}
}
任何想法我都错了?
答案 0 :(得分:5)
$i = 1;
while ($i <= 100) {
$r = '';
if ($i % 3 === 0) {
$r .= 'Fizz';
}
if ($i % 5 === 0) {
$r .= 'Buzz';
}
if (!$r) {
$r = $i;
}
echo "$r\n";
++$i;
}