@CatherineGauss

При проверке if внутри for происходит бесконечная зацикленность, как исправить?

Здание такое: вывести таблицу 5 на 3. Ячейку с координатами 2:1 закрасить в желтый, c координатами 3:2 и 4:2 - в зеленый, всю третью строку - в красный.
Если сделать так, то получается строка с бесконечными ячейками желтого цвета
<?php

    echo '<table border="1" width="500px" height="300px">';
    for ($y= 1; $y <= 3; ++$y) {
        echo '<tr>';
        for ($x = 1; $x <= 5; ++$x) {
            if ($x = 2 && $y = 1) {
                echo '<td style="background-color:#ffd700"></td>';
            } elseif ($x = 3 && $y = 2) {
                echo '<td style="background-color:#3af04f"></td>';
            } elseif ($x = 4 && $y = 2) {
                echo '<td style="background-color:#3af04f"></td>';
            } elseif ($y = 3) {
                echo '<td style="background-color:#ff0000"></td>';
            } else {
                echo '<td></td>';
           }
        }
        echo '</tr>';
    }
    echo '</table>';

?>

Если так, то таблица нормально выводится

<?php

    echo '<table border="1" width="500px" height="300px">';
    for ($y= 1; $y <= 3; ++$y) {
        echo '<tr>';
        for ($x = 1; $x <= 5; ++$x) {
                echo '<td></td>';
        }
        echo '</tr>';
    }
    echo '</table>';

?>
  • Вопрос задан
  • 547 просмотров
Решения вопроса 1
@holfza
Вы в if присваиваете значения. Нужно == или ===
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Комментировать
sbh
@sbh
Замените = на ==
Операция сравнения == а не =
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы