ibred 31 Опубликовано: 13 марта 2012 Рассказать Опубликовано: 13 марта 2012 (изменено) Приветствую. Потихоньку изучаю php и хочется выяснить чисто для себя. Делаю таблицу умножения и дабы потом не возникало вопросов, решил сделать её через 2 цикла: FOR echo "<table border=\"1\">"; for ($tr=1;$tr<=$rows;$tr++) { echo "<tr>"; for ($td=1;$td<=$cols;$td++) { echo "<td>".$tr*$td."</td>"; } echo "</tr>"; } echo "</table>"; WHILE $td = 1; $tr = 1; echo "<table border=\"1\">"; while ($tr<=$rows) { echo "<tr>"; while ($td<=$cols) { echo "<td>".$tr*$td."</td>"; $td++; } echo "</tr>"; $tr++; } echo "</table>"; Второй цикл (вложенный) в while отрабатывает один раз, в то время, как вложенный цикл (второй) в FOR срабатывает до тех пор, пока нас не выкинет из цикла первого уровня. Так и должно быть, или же есть где-то ошибка? P.S. Код через WHILE должен работать точно так же, как и через FOR. В этом и заключается вопрос, собственно - как это сделать и почему мой вариант не работает так, как нужно. Изменено 13 марта 2012 пользователем ibred Цитата Ссылка на сообщение Поделиться на других сайтах
Wanderers 17 Опубликовано: 14 марта 2012 Рассказать Опубликовано: 14 марта 2012 $td = 1; Теперь подумайте где нужно это делать... Цитата Ссылка на сообщение Поделиться на других сайтах
ibred 31 Опубликовано: 14 марта 2012 Рассказать Опубликовано: 14 марта 2012 Автор $td = 1; Теперь подумайте где нужно это делать... Сразу же после вложенного цикла Но не могли бы Вы ответить, почему в while цикл срабатывает именно так? Мне казалось, что это совершенно идентичные конструкции. Цитата Ссылка на сообщение Поделиться на других сайтах
Wanderers 17 Опубликовано: 14 марта 2012 Рассказать Опубликовано: 14 марта 2012 Я бы поставил перед. Конструкции абсолютно разные, см. руководство по языку. Цитата Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 14 марта 2012 Рассказать Опубликовано: 14 марта 2012 http://php.su/learnphp/cs/?cycles Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.