14

私の問題: forループで逆数を数えたい。

これは私がやりたいことの反対です:

for($i=1;$i<=10;$i++){
    echo $i;
}

入れ$i--ても動かない(サーバーがクラッシュする)。

助けて!

よろしく、アダム

4

4 に答える 4

36

$i--サーバーがクラッシュすると言うとき、初期化と条件を変更しました$iか?

for($i=10; $i>=1; $i--){
    echo $i;
}
于 2010-07-02T16:49:17.757 に答える
10

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;
}
于 2010-07-02T16:49:49.730 に答える
4

わからない、ただやって

for($i=10;$i>=1;$i--){
    echo $i;
}

十分ではありません?

于 2010-07-02T16:51:06.497 に答える
1

PHPマニュアルから

for(expr1; expr2; expr3)ステートメント

最初の式(expr1)は、ループの開始時に無条件に1回評価(実行)されます。

各反復の開始時に、expr2が評価されます。TRUEと評価された場合、ループが続行され、ネストされたステートメントが実行されます。FALSEと評価された場合、ループの実行は終了します。

各反復の終わりに、expr3が評価(実行)されます。

于 2010-07-02T16:51:26.280 に答える