Моя проблема: Я хочу включить инверсию для цикла.
Это - противоположность того, что я хочу сделать:
for($i=1;$i<=10;$i++){
echo $i;
}
Если я поместил $i--
не делает работ (мои катастрофические отказы сервера).
Справка meeee!
С наилучшими пожеланиями, Adam
Когда вы говорите, что $ i -
вызывает сбой вашего сервера, вы изменили инициализацию и условие для $ i
?
for($i=10; $i>=1; $i--){
echo $i;
}
Я не понимаю, просто сделать
for($i=10;$i>=1;$i--){
echo $i;
}
недостаточно?
Если вы возьмете вместо
, как вы написали, и просто замените $ 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;
}
для (expr1; expr2; expr3) оператор
Первое выражение (expr1) вычисляется (выполняется) один раз безоговорочно в начале цикла.
В начале каждой итерации вычисляется expr2. Если он принимает значение ИСТИНА, цикл продолжается, и выполняются вложенные операторы. Если он оценивается как ЛОЖЬ, выполнение цикла завершается.
В конце каждой итерации expr3 оценивается (выполняется).