PHP для цикла: равно или меньше - работает, равно - создает цикл infinte

0

Этот код работает

<?php 
    for ($x = 0; $x <= 10; $x++) {
        echo "The number is: $x <br>";
    } 
?> 

но если вместо "<=" я использую просто "=", то php попадает в бесконечный цикл, который

<?php 
        for ($x = 0; $x = 10; $x++) {
            echo "The number is: $x <br>";
        } 
?>

Это ожидаемое поведение?

  • 1
    Вы не используете = для сравнения, но == или === . Но в этом случае ваш цикл не будет работать вообще, так что вы пытаетесь достичь?
Теги:
for-loop
loops

2 ответа

2

Да, вместо оператора сравнения используется оператор присваивания. Теперь нет конца для этого цикла.

0

Да, это ожидалось.

Вы должны использовать <= вместо = только

<= оператор comparaison: http://php.net/manual/en/language.operators.comparison.php

= - оператор присваивания: http://php.net/manual/en/language.operators.assignment.php

  • 0
    как насчет == , то, что OP должен действительно использовать, если они хотят видеть, равно ли значение. Хотя я знаю, что он не будет зацикливаться вообще, потому что средняя часть цикла for никогда не будет истинной.
  • 0
    Спасибо за быструю обратную связь - я в настоящее время изучаю php и частично знал о сравнении / назначении, но почему он вообще не работает с ==? $ x никогда не был определен ранее и для начала определяется как 0, так почему он никогда не равен 10?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню