@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";
  • Вопрос задан
  • 203 просмотра
Решения вопроса 1
Decadal
@Decadal
Потому что $z и $y никогда не меняются и постоянно не равны друг другу.

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

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

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

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

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