これが私がやっていることです(php)
<?php
for($i = 0; $i <= 30; $i+2)
{
echo $i;
}
?>
それは私を夢中にさせます、なぜならそれは機能しないからです[何も印刷せず、ブラウザは読み込みを試み続けます]。しかし、 に変更$i+2
する$i++
と動作し、 に変更すると$i+1
動作しません。
私は頭がおかしいです。何がうまくいかないのですか?
これが私がやっていることです(php)
<?php
for($i = 0; $i <= 30; $i+2)
{
echo $i;
}
?>
それは私を夢中にさせます、なぜならそれは機能しないからです[何も印刷せず、ブラウザは読み込みを試み続けます]。しかし、 に変更$i+2
する$i++
と動作し、 に変更すると$i+1
動作しません。
私は頭がおかしいです。何がうまくいかないのですか?
それは私を夢中にさせます、なぜならそれは機能しないからです[何も印刷せず、ブラウザは読み込みを試み続けます]。しかし、 に変更
$i+2
する$i++
と動作し、 に変更すると$i+1
動作しません。
$i++
と同等です$i = $i + 1
。代入演算子に注意してください。=
ここには存在$i + 2
しません 追加しますが、更新しません ...
$i
は更新されないため、無限ループが発生し、スクリプトが処理の許容時間に達して終了する可能性があります。
http://php.net/manual/en/function.set-time-limit.php
スクリプトの実行を許可する秒数を設定します。これに達すると、スクリプトは致命的なエラーを返します。デフォルトの制限は 30 秒です。存在する場合は、php.ini で定義されている max_execution_time 値です。
各反復の後に、forループにインクリメント/デクリメント値を指定する必要があります。$ i+2はiの値を変更しません。したがって、この場合に発生しているのは、forループが、連続する反復ごとに同じ値のiを検出することです。その結果、終了条件が満たされることはありません。したがって、forループは無限ループでスタックします。
変更:または$i+1
に。$i=$i+1
$i+=1
$i++
実際にはを意味し$i=$i+1
ます。
またはに変更$i+2
する必要があります。
を意味します。$i = $i + 2
$i += 2
$i++
$i += 1
for($i = 0; $i <= 30; $i += 2)
{
echo $i;
}
は に等しい$i=$i+2
ため、に変更する必要があります。$i++
$i=$i+1