私の問題: forループで逆数を数えたい。
これは私がやりたいことの反対です:
for($i=1;$i<=10;$i++){
echo $i;
}
入れ$i--
ても動かない(サーバーがクラッシュする)。
助けて!
よろしく、アダム
$i--
サーバーがクラッシュすると言うとき、初期化と条件を変更しました$i
か?
for($i=10; $i>=1; $i--){
echo $i;
}
for
書いたとおりに、をに置き換えると$i++
、$i--
の値は$i
反復ごとにデクリメントされ(1、0、-1、-2など)、ループ条件$i<=10
は常に真になります。
逆算したい場合は、他の部分(初期化とループ条件)も変更する必要があります。
for ($i=10; $i>=1; $i--){
echo $i;
}
または、最後の値を取得し、そこから現在の値を減算して、最初の値を加算します。
for ($first=1, $i=$first, $last=10; $i<=$last; $i++){
echo $last - $i + $first;
}
わからない、ただやって
for($i=10;$i>=1;$i--){
echo $i;
}
十分ではありません?
PHPマニュアルから
for(expr1; expr2; expr3)ステートメント
最初の式(expr1)は、ループの開始時に無条件に1回評価(実行)されます。
各反復の開始時に、expr2が評価されます。TRUEと評価された場合、ループが続行され、ネストされたステートメントが実行されます。FALSEと評価された場合、ループの実行は終了します。
各反復の終わりに、expr3が評価(実行)されます。