PHP基礎(chǔ)之流程控制3——while/do-while
(PHP 4, PHP 5)
while?循環(huán)是 PHP 中最簡(jiǎn)單的循環(huán)類型。它和 C 語(yǔ)言中的?while?表現(xiàn)地一樣。while?語(yǔ)句的基本格式是:
while (expr) statement
while?語(yǔ)句的含意很簡(jiǎn)單,它告訴 PHP 只要?while?表達(dá)式的值為?TRUE?就重復(fù)執(zhí)行嵌套中的循環(huán)語(yǔ)句。表達(dá)式的值在每次開(kāi)始循環(huán)時(shí)檢查,所以即使這個(gè)值在循環(huán)語(yǔ)句中改變了,語(yǔ)句也不會(huì)停止執(zhí)行,直到本次循環(huán)結(jié)束。有時(shí)候如果?while?表達(dá)式的值一開(kāi)始就是?FALSE,則循環(huán)語(yǔ)句一次都不會(huì)執(zhí)行。
和?if?語(yǔ)句一樣,可以在?while?循環(huán)中用花括號(hào)括起一個(gè)語(yǔ)句組,或者用替代語(yǔ)法:
while (expr): statement ...endwhile;
下面兩個(gè)例子完全一樣,都顯示數(shù)字 1 到 10:
<?php/*?example?1?*/$i?=?1;while?($i?<=?10)?{????echo?$i++;??/*?the?printed?value?would?be????????????????????$i?before?the?increment????????????????????(post-increment)?*/}/*?example?2?*/$i?=?1;while?($i?<=?10):????print?$i;????$i++;endwhile;?>do-while(PHP 4, PHP 5)
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)。以下代碼片段示范了此方法:
<?phpdo?{????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)。
相關(guān)文章:
1. Python3 json模塊之編碼解碼方法講解2. Linux刪除系統(tǒng)自帶版本Python過(guò)程詳解3. Python 制作查詢商品歷史價(jià)格的小工具4. Python 合并拼接字符串的方法5. python 使用事件對(duì)象asyncio.Event來(lái)同步協(xié)程的操作6. ASP基礎(chǔ)知識(shí)VBScript基本元素講解7. ASP.NET MVC使用jQuery ui的progressbar實(shí)現(xiàn)進(jìn)度條8. Python 利用Entrez庫(kù)篩選下載PubMed文獻(xiàn)摘要的示例9. Python sublime安裝及配置過(guò)程詳解10. Python字符串到字節(jié)的轉(zhuǎn)換。雙反斜杠問(wèn)題

網(wǎng)公網(wǎng)安備