php do while是一種循環(huán)語(yǔ)句,該循環(huán)語(yǔ)句保證會(huì)執(zhí)行一次,其使用語(yǔ)法如【<?php $i = 0;do {echo $i;} while ($i > 0);?>】,其循環(huán)語(yǔ)句將正好運(yùn)行一次。
推薦:《PHP視頻教程》
do-while
(PHP 4, PHP 5, PHP 7)
do-while 循環(huán)和 while 循環(huán)非常相似,區(qū)別在于表達(dá)式的值是在每次循環(huán)結(jié)束時(shí)檢查而不是開(kāi)始時(shí)。和一般的 while 循環(huán)主要的區(qū)別是 do-while 的循環(huán)語(yǔ)句保證會(huì)執(zhí)行一次(表達(dá)式的真值在每次循環(huán)結(jié)束后檢查),然而在一般的 while 循環(huán)中就不一定了(表達(dá)式真值在循環(huán)開(kāi)始時(shí)檢查,如果一開(kāi)始就為 FALSE 則整個(gè)循環(huán)立即終止)。
do-while 循環(huán)只有一種語(yǔ)法:
<?php $i = 0; do { echo $i; } while ($i > 0); ?>
以上循環(huán)將正好運(yùn)行一次,因?yàn)榻?jīng)過(guò)第一次循環(huán)后,當(dāng)檢查表達(dá)式的真值時(shí),其值為 FALSE($i 不大于 0)而導(dǎo)致循環(huán)終止。
資深的 C 語(yǔ)言用戶可能熟悉另一種不同的 do-while 循環(huán)用法,把語(yǔ)句放在 do-while(0) 之中,在循環(huán)內(nèi)部用 break 語(yǔ)句來(lái)結(jié)束執(zhí)行循環(huán)。以下代碼片段示范了此方法:
<?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); ?>
如果還不能立刻理解也不用擔(dān)心。即使不用此“特性”也照樣可以寫(xiě)出強(qiáng)大的代碼來(lái)。自 PHP 5.3.0 起,還可以使用 goto 來(lái)跳出循環(huán)。