Переполнение стека цикла Loop

почему этот код выводится из 8?

<?php
$i = 1;
while ($i <= 7) {
$i++;
}
echo "The value is $i <br />";
?>

но когда вы ставите этот код на открывать и закрывать скобки
echo $ i;

выход

12345678

Пожалуйста, объясните, как .. Спасибо!

-3

Решение

Я изо всех сил пытаюсь понять, что вы подразумеваете под: —

но когда вы положите это на открывать и закрывать скобки «эхо»

С учетом сказанного, однако, я, безусловно, могу помочь объяснить, почему результат 8.

Ваш счетчик начинается с 1 ($i = 1). Затем вы запускаете цикл while, который проверяет, является ли значение вашего счетчика меньше или равно 7. Вы увеличиваете счетчик на 1 на каждой итерации цикла.

когда $i равно 7, цикл запускается снова (<=); $i увеличивается до 8.

2

Другие решения

Вы создали функцию while, в которой вы добавляете условие для запуска функции, пока $ i не станет меньше или равно 7 (while ($ i <= 7)). Поэтому, когда $ i == 7, функция fuction запускается снова, тогда $ i == 8, теперь ваше состояние неверно, поэтому он прерывает цикл и выдает вам 8.

1

В основном в вашем первом случае echo выполняется после цикла и только один раз. Там значение равно 8, отсюда и результат, который вы наблюдаете.

Положив echo в цикле он выполняется для каждой итерации.

0

7<7 — ложь, но 7 = 7 — истина, поэтому ваш цикл выполняется еще раз, и вывод равен 8. Включите echo в цикл while, если вы хотите напечатать каждый вывод цикла.

0
while loop will execute when given condition is true. So here

— $ i = 1; меньше или равно 7, так что снова цикл. На этот раз я увеличил +1
теперь $ i = 2 снова условие верно,
теперь условие $ i = 3 снова верно,
теперь условие $ i = 4 снова верно,
теперь $ i = 5 снова условие верно,
— теперь условие $ i = 6 снова верно,
теперь $ i = 7 снова условие верно,
теперь, $ i = 8 Здесь условие False, поэтому цикл завершен, поэтому следующая строка будет выполнена здесь, значение $ i равно 8. Таким образом, вы получите выходное значение 8.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector