PHP: <?php error_reporting(-1); for ($i = 1; $b<10; $i++) { $b =$i*$i; echo "$i*$i = $b \n"; } Вот результат этого : Успешно time: 0.01 memory: 52488 signal:0 11 = 1 22 = 4 33 = 9 44 = 16 А как сделать так, чтобы на 9 заканчивался цикл? Понять не могут ? В принципе, логика понятно, почему 16 получается . 33 = 9;, проверяется это условие , потом выполняется действие и выводится 16. А как сделать так, чтоб на 33 цикл заканчивался ? Сори за спам
PHP: <?php error_reporting(0); for ($i = 1; $b<10; $i++) { $b =$i*$i; echo "$i*$i = $b <br>"; if($b == 9) break; }
Не ну такой ответ и я додумался. Но если я не знаю ответа на предпоследнее действие. Но мне надо, чтобы ответ был меньше чем 1400. Все равно, выполняется на один цикл больше, чем надо. Ведь сначала проверяется условие, после действие, которые приводит к тому, что ответ выходит больше условия и это выводится на экран. Цифры вообще не имеют значения, тут дело в сути. Как сделать на один цикл меньше. --- Добавлено --- Есть подозрения, что без оператора while этого не сделать. Я прав?
сделай проверку через if, тип если следующая операция превышает нужное число, то { } если не превышает, то { $b=$i*$i; echo $i,"*",$,"i = ",$b," <br>"; } PHP: for($i = 1; $b<10; $i++) { $b =$i*$i; if ($b <10) //тут любое число, какое хочешь { echo $i,"*",$,"i = ",$b," <br>"; } else { } }
Операторы цикла могут быть составными Код (Text): for ($i = 1; $b<10; $i++, $b = $i*$i) { echo "$i*$i = $b \n"; }