Помощник
|
объясните кто-нибудь do-while |
dddr
|
Сообщение
#1
|
||
|
|
||
|
|||
alexdrob |
29.6.2011, 2:28;
Ответить: alexdrob
Сообщение
#2
|
|
разница в том что do {} while выполнится минимум 1 раз. Если вы уверенны что у вас цикл должен выполнится минимум 1 раз то можно использовать do {} while, а можно и while.
Есть мнение, я лично не проверял, просто в книге по с++ написано, что while выполняется немного дольше чем do while. В связи с этим некоторые программисты используют циклы do {} while и в php, например тот же Попов. Кстати из за это на Попова бочку и катят :) Я лично всегда использую while. Так как оно удобней читается в коде, а прироста скорости я не проверял :) Пример когда можно использовать do {} while Вы хотите в цикле тащить 1 карту пока у вас меньше 17 очков в колоде, для проверки сколько очков естественно нет смысла проверять пустую колоду, должна быть хотя бы одна карта. [PHP] <?php function getCard(&$a) { return array_pop($a); } $cards = array(6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,2,2,2,2,3,3,3,3,4, 4,4,4); shuffle($cards); $myCards = array(); do { $myCards[] = getCard($cards); $sum = array_sum($myCards); } while ($sum < 17); echo '<p>У вас: ' . $sum . ' очков!</p>'; ?>[/PHP] PS проверил скорость, на 10000 итераций я разницы не заметил, может всего на 0.0001-0.0002 но то там быстрей то там :) |
|
|
dzheka3d |
29.6.2011, 4:24;
Ответить: dzheka3d
Сообщение
#3
|
|
do - перевод "Выполнять"
Далее идет цикл, который выполняется while - перевод "пока (условие верно)" Теперь синтаксис: [PHP]do { цикл; } while(условие)[/PHP] Пример: [PHP] $a = 2; // присваиваем переменной $а значение 2, что бы программа знала чему равна эта перменная do // выполнять условие (то что идет после фигурной скобки). Условие заканчивается второй фигурной скогбой. { echo "привет"; // выводим слово "привет" $a = $a+1; // увеличиваем переменную $a на еденицу } while($a < 5); // пока переменная $a меньше пяти[/PHP] Пояснение: Программа присваивает переменной а значение 2 Программа видит первую строчку и понимает что ей нужно выполнить всё то, что находится в фигурных скобках Программа выводит значение слово привет и затем увеличивает переменную на единицу. Т.е. теперь значение переменной равно 3 Как только программа доходит до слова while она проверяет условие которое находится в круглых скобках там у нас $a < 5 ставит на место $a нашу тройку и смотрит, что а меньше пятерки, поэтому программа возвращается к слову do и выполняет цикл снова. т.е. выводит слово "привет" и прибавляет к переменной единицу (получается 4). Сверяет что 4 меньше чем 5 и снова возвращается к слову do. Выводит слово "привет" и прибавляет к $a еденицу (получается 5) Сверяет, что 5 не меньше чем 5 и заканчивает цикл. |
|
|
dddr
|
Сообщение
#4
|
|
[PHP]<?php
$a=8; do { echo "Ky-ky"; } $a=$a+1; while ($a<15); ?>[/PHP] А во ти собственно к ней ошибка: Parse error: syntax error, unexpected T_VARIABLE, expecting T_WHILE in Z:\home\test1.ru\www\while.php on line 7 В чем проблемка? |
|
|
adlic |
29.6.2011, 13:14;
Ответить: adlic
Сообщение
#5
|
|
[PHP]<?php
$a=8; do { echo "Ky-ky"; $a=$a+1; } while ($a<15); ?>[/PHP] Не туда $a=$a+1; засунули. |
|
|
dddr
|
Сообщение
#6
|
|
воот,поняль))))а что должен по сути вывести этот цикл?
|
|
|
dddr
|
Сообщение
#7
|
|
и если не трудно объясните остальные циклы кроме if else elseif,а то я сам не могу их понять)Огромное заранее спасибо!
|
|
|
adlic |
29.6.2011, 13:40;
Ответить: adlic
Сообщение
#8
|
|
|
Этот цикл отличается от других тем, что идет сначала действие, а потом уже логика. То есть, как говорил alexdrob, он один раз выполнится точно, а там уже зависит от логики цикла.
dddr, if else elseif это не циклы, а условия, не путайте. Цикл for выполняется до тех пор, пока проверяемое условие остаётся истинным. [PHP]for($i=0; $i<3; $i++){ echo "Еще раз<br>"; }[/PHP] То есть он будет выполняться до тех пор, пока переменная $i не станет равна или больше 3($i<3), сейчас она равна 0($i=0) и при каждом пробегании цикла увеличивается на единицу($i++).
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Кто где хранит файлы? И какой объем? просто интересно |
22 | mark2013 | 2684 | 15.4.2024, 8:08 автор: Room |
|
LITE.HOST - хостинг для тех, кто любит не переплачивать | 74 | akkyoh | 30923 | 6.4.2024, 19:41 автор: Kseniya_Klimova |
|
Пишет кто отзывы на сайт в янднекс с разных аккаунтах | 1 | TenDemon_rs | 1186 | 22.3.2024, 13:18 автор: writer80 |
|
Кто и зачем покупает картинки обезьян по $200 тысяч? NFT |
167 | metvekot | 27447 | 6.3.2024, 21:58 автор: Boymaster |
|
Тизерная сеть Visitweb - кто покупает здесь трафик? | 3 | Boymaster | 1363 | 29.2.2024, 10:24 автор: Skyworker |
Текстовая версия | Сейчас: 25.4.2024, 23:19 |