Задать вопрос
@patashok

Почему этот цикл бесконечный?

Пишу игру "Угадай число". Создал цикл. А он бесконечный. Почемуууу?
$x = range(1, 10);
$y = array_rand($x);
if(!isset($_REQUEST['q'])) {
	echo "<form action=\"http://localhost/test.php\" method=\"post\">".
	"<input type=\"text\" name=\"qwerty\">"."<input type=\"submit\" name=\"q\">".
	"</form>";
	die();
}
$z = $_REQUEST['qwerty'];
while(!($z === $y)) {
	if($z > $y) {
		$text = "Less";
	} else $text = "Better";
	echo "<form action=\"http://localhost/test.php\" method=\"post\">".
	"<input type=\"text\" name=\"qwerty\">"."<input type=\"submit\" name=\"q\">".
	"$text"."</form>";
	$z = $_REQUEST['qwerty'];
}
echo "Yes";
  • Вопрос задан
  • 205 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Decadal
@Decadal
Потому что $z и $y никогда не меняются и постоянно не равны друг другу.

Вы считали один раз z:
$z = $_REQUEST['qwerty'];

например, там 1.
И сгенерили один раз y:
$y = array_rand($x);

например, там 5.
while ( 5!==1 ) {
// вывести форму
// считать $z, который хранится в $_REQUEST['qwerty']; с тем же значением, ведь его никто не изменял
// повторить
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы