There is one major difference you should be aware of when using the do--while loop vs. using a simple while loop: And that is when the check condition is made.
In a do--while loop, the test condition evaluation is at the end of the loop. This means that the code inside of the loop will iterate once through before the condition is ever evaluated. This is ideal for tasks that need to execute once before a test is made to continue, such as test that is dependant upon the results of the loop.
Conversely, a plain while loop evaluates the test condition at the begining of the loop before any execution in the loop block is ever made. If for some reason your test condition evaluates to false at the very start of the loop, none of the code inside your loop will be executed.do-while
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
do-while
Референца за `control-structures.do.while.php` со подобрена типографија и навигација.
do-while
(PHP 4, PHP 5, PHP 7, PHP 8)
do-while циклусите се многу слични на
while циклусите, освен што изразот за вистинитост се проверува на крајот од секоја итерација наместо на почетокот. Главната разлика од обичните while циклуси е тоа што првата итерација на do-while циклус е загарантирано да се изврши (изразот за вистинитост се проверува само на крајот од итерацијата), додека пак можеби нема нужно да се изврши со обичен while циклус (изразот за вистинитост се проверува на почетокот од секоја итерација, ако се оцени како
false веднаш од почетокот, извршувањето на циклусот би завршило веднаш).
Постои само една синтакса за do-while циклуси:
<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?>
Горниот циклус би се извршил точно еднаш, бидејќи по првата итерација, кога ќе се провери изразот за вистинитост, тој се оценува како
false ($i не е поголемо од 0) и извршувањето на циклусот завршува.
Напредните корисници на C можеби се запознаени со поинакво користење на
do-while циклус, за да се дозволи запирање на извршувањето во средината на блоковите со код, со нивно обвиткување со
do-while (0), и користење на break
изјава. Следниот фрагмент од код го демонстрира ова:
<?php
do {
if ($i < 5) {
echo "i is not big enough";
break;
}
$i *= $factor;
if ($i < $minimum_limit) {
break;
}
echo "i is ok";
/* process i */
} while (0);
?>
Можно е да се користи функцијата за испраќање порака до прелистувачот на клиентот, предизвикувајќи појава на прозорец за внесување корисничко име/лозинка. Откако корисникот ќе внесе корисничко име и лозинка, URL-то што го содржи PHP скриптот повторно ќе биде повикано со поставено корисничко име, лозинка и тип на автентикација соодветно. Овие претходно дефинирани променливи се наоѓаат во
goto
оператор наместо овој трик.