Чӣ хеле ки шумо пай бурдед, оператори while аввал шартро месанҷад ва фақат дар ҳолати TRUE будани қимати он ба иҷрои ягон оператор шурӯъ мекунад. Агар ҳангоми ворид шудан ба сикли while қимати шарт FALSE бошад, while ҳеҷ корро иҷро намекунад. Оператори do-while аввал ягон корро иҷро мекунад, баъд ба санҷидани шарт мегузарад. Сохтори ин оператор чунин аст:

do
оператор;
while(condition);

Дар рафти кори барнома, ҳангоми навбат ба do-while расидан:

1) барнома ба иҷрои қисми оператор оғоз мекунад. Қисми оператор - тани сикл низ номида мешавад (body);
2) баъд барнома ба санҷидани қисми condition мегузарад. Дар қисми condition ягон ифодаи мантиқӣ меистад;
3) ҳангоми FALSE будани қимати қисми condition иҷрои оператори do-while қатъ мегардад ва барнома ба иҷрои қисми баъди оператори do-while шурӯъ мекунад. Ҳангоми TRUE будани қимати қисми condition барнома боз ба пункти 1) мегузарад.

Тасвири сохтори идоракунандаи do-while:

Дар хотир нигоҳ доред, ки дар оператори do-while баъди калимаи махсуси while аломати нуқтавергул (;) меистад.

Яъне дар оператори do-while тани сикл ақалан як маротиба автоматӣ иҷро карда мешавад, ки ин хусусияти фарқкунандаи ин оператор мебошад.

Ана ин сикл иҷро намешавад:
namuna19.php

$cookies = 0;
while($cookies > 1){
echo "Ин сатр чоп намешавад";
}

Инаш як маротиба иҷро мешавад:
namuna20.php

$cookies = 0;
do {
echo "Ин сатр як маротиба чоп мешавад";
} while ($cookies > 1);

САВОЛҲО БАРОИ МУСТАҲКАМКУНӢ
1. Барномае нависед, ки расо 10 сатри якхеларо чоп кунад.
2. Барномаеро нависед, ки дар он сикли do-while истифода шавад.
3. Умумият ва фарқияти сиклҳои do-while ва for-ро баён кунед.