Здравствуйте опять xD Тем будет ещё много <?PHP $i=1; $iSum=0; while($i<=2) { echo $iSum+=$i; if($i==100) { break; } $i++; } ?> Выводит 1 и 3 так как: Выводит 1 так как 1 меньше 2.Теперь переменная $iSum =1 потом i=2 2=2 значит выводит потом переменные складываются и 1+2=3 поэтому выводит 1 и 3. Я не очень понимаю вот эту часть кода: { echo $iSum+=$i; if($i==100) { break; } $i++; }
Этот цикл также "работает" до тех пор, пока истинно условие, стоящее внутри while, но, в отличии от самого while, он всегда выполнится хотя бы 1 раз, даже если исходное выражение, стоящее в условии было сразу ложно. Так как я рассказываю про циклы, будет важно знать, что существует специальный оператор, прерывающий выполнение цикла "досрочно", то есть до наступления состояния условия, при котором цикл завершался бы, если бы "все шло как обычно". Это - оператор break. Он позволяет выйти из цикла немедленно и сразу же перейти к оператору, идущему сразу после цикла. Например: <?PHP $i=1; $iSum=0; while($i<=200000) { $iSum+=$i; if($i==100) { break; } $i++; } ?> Это выполнит сложение лишь первых 100 чисел, а не первых 200000 (несмотря на условие цикла), так как когда $i достигнет 100, произойдет выполнение break, и, значит, выход из цикла. break "умеет" выходить с учетом вложенности циклов.
Вроде понял. while($i<=200000) просто чтоб не отображать 200000 чисел а только нужное количество чисел нужно: Типо доходит до 100 чисел и цикл перестаёт работать правильно? $iSum+=$i; if($i==100) { break; } Добавлено спустя 4 минуты 40 секунд: Всёёёёёёё понял. Я просто щас писал этот код и говорил что я делаю. Получается если переменная $i равна 100 то выйти из цикла. Правильно?
Это типо этого? <?PHP for($i=1;$i<=9;$i++) { for($j=1;$j<=10000;$j++) { echo($i*$j." "); if($j==9) { break(2); } } } ?>
<?php while (list($key, $value) = each($arr)) { if (!($key % 2)) { // пропуск нечетных чисел continue; } do_something_odd($value); } $i = 0; while ($i++ < 3) { echo "Снаружи<br />\n"; while (1) { echo "В середине<br />\n"; while (1) { echo "Внутри<br />\n"; continue 3; } echo "Это никогда не будет выведено.<br />\n"; } echo "Это тоже.<br />\n"; } ?> Кароч я запутался, continue эти типо то что будет написано ниже определённого цикла не будет работать? Или как?
Наверное xD. Я не могу понять, так всё сложно потому что первый раз или они так объясняют. Щас до функций дошёл. http://www.php.su/lessons/?lesson_3
Вы шарющий человек Вот скажите читать книги о php 5 или продолжать что делаю. Просто одни говорят книги ничего не дадут, учись так "Как щас учусь". Другие говорят читай книги.
Просто стремись делать всё лучше чем вчера и понимать без размытостей. Читать до этого придётся всё подряд.