почему этот код выводится из 8?
<?php
$i = 1;
while ($i <= 7) {
$i++;
}
echo "The value is $i <br />";
?>
но когда вы ставите этот код на открывать и закрывать скобки
echo $ i;
выход
12345678
Пожалуйста, объясните, как .. Спасибо!
Я изо всех сил пытаюсь понять, что вы подразумеваете под: —
но когда вы положите это на открывать и закрывать скобки «эхо»
С учетом сказанного, однако, я, безусловно, могу помочь объяснить, почему результат 8.
Ваш счетчик начинается с 1 ($i = 1
). Затем вы запускаете цикл while, который проверяет, является ли значение вашего счетчика меньше или равно 7. Вы увеличиваете счетчик на 1 на каждой итерации цикла.
когда $i
равно 7, цикл запускается снова (<=
); $i
увеличивается до 8.
Вы создали функцию while, в которой вы добавляете условие для запуска функции, пока $ i не станет меньше или равно 7 (while ($ i <= 7)). Поэтому, когда $ i == 7, функция fuction запускается снова, тогда $ i == 8, теперь ваше состояние неверно, поэтому он прерывает цикл и выдает вам 8.
В основном в вашем первом случае echo
выполняется после цикла и только один раз. Там значение равно 8, отсюда и результат, который вы наблюдаете.
Положив echo
в цикле он выполняется для каждой итерации.
7<7 — ложь, но 7 = 7 — истина, поэтому ваш цикл выполняется еще раз, и вывод равен 8. Включите echo в цикл while, если вы хотите напечатать каждый вывод цикла.
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.