Написал так:
for($i = 0; $i<=5; $i++){
echo $i."<br>";
}
получил результат:
0
1
2
3
4
5
и так:
for($i = 0; $i<=5; ++$i){
echo $i."<br>";
}
получил результат:
0
1
2
3
4
5
Как видите, результаты идентичны.
Так в чем же разница между постфиксным и префиксным инкрементом в данном случае (в цикле for
)?
Различие между постфиксным и префиксным операторами инкремента состоит в возвращаемом значении выражения. Так как в приведенных примерах циклов результаты выражений не используются, то для циклов никакой разницы нет. В циклах используются значения переменной $i
уже после вычисления выражений с инкрементами.
Сравните ваши циклы for
с циклами while
$i = 0;
while ( ++$i <= 5 ){
echo $i."<br>";
}
и
$i = 0;
while ( $i++ <= 5 ){
echo $i."<br>";
}
В этих циклах уже используются результаты вычисления выражений с инкрементом.
Было время, когда вопрос, как писать в цикле for
выражение инкремента либо как $i++
или ++$i
вызывал серьезный интерес с точки зрения оптимизации кода на различных языках программирования. Но сейчас компиляторы и интерпретаторы настолько продвинулись вперед, что обычно генерируют один и тот же объектный код, когда значение выражения не используется.
Почему Вы думаете что в данном случае будет разница?
Польза от этих форм видна только если нужно поменять порядок выполнения в составной инструкции.
Пример:
Инкремент имеет больший приоритет, чем плюсы/минусы, поэтому вычисление будет уже с инкрементированным значением:
$i = 0;
5 +++ $i; // 6
Здесь же сначала результат будет вычислен, только потом произойдёт инкремент:
$i = 0;
5 + $i++; // 5
В Вашем случае выполняться только одна инструкция (собственно, сам инкремент), поэтому разницы нет.
В данном случае разницы никакой нету
http://www.php.su/learnphp/operators/?prior Ссылка на ответ к вопросу автора
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
PHP Fatal error: Declaration of
Приветствую! Возникла проблема в том чтобы сделать поле в таблицы, которое будет генерировать уникальное значениеНужно оно для создания...