Почему PHP в режиме «интерактивной оболочки» запускает этот скрипт только один раз? - PullRequest
0 голосов
/ 17 сентября 2018

Когда я вставляю этот маленький тестовый цикл for в первый раз в режиме интерактивной оболочки PHP (php -a из командной строки), он работает отлично.

for($weekday == 0;  $weekday<7; $weekday++) { echo $weekday; }

Затем я пытаюсь вставить его и запуститьэто снова несколько раз, он никогда не возвращает никакого вывода.Почему он работает в первый раз и ничего не делает после этого?

Вывод:

enter image description here

И php -v возвращает PHP 7.1.1 (cli) (built: Jan 23 2017 15:09:57) ( NTS )

ОБНОВЛЕНИЕ: да, я тупой и использовал оператор сравнения вместо оператора присваивания.Dur.:-) Но, тем не менее, мой оригинальный вопрос действителен: С оператором сравнения (как видно выше), даже если он не совсем делает то, что я хочу, почему он выполняется только один раз?

1 Ответ

0 голосов
/ 17 сентября 2018

Измените == на =, чтобы сбросить $weekday обратно на 0 каждый раз.

for($weekday = 0;  $weekday<7; $weekday++) { echo $weekday; }

В противном случае во второй раз, когда он запускается $weekday, уже 7, и условие цикла немедленно завершается неудачей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...