PHP基礎(chǔ)之流程控制5——break/continue
(PHP 4, PHP 5)
break?結(jié)束當(dāng)前?for,foreach,while,do-while?或者?switch?結(jié)構(gòu)的執(zhí)行。
break?可以接受一個(gè)可選的數(shù)字參數(shù)來決定跳出幾重循環(huán)。
<?php $arr = array(’one’, ’two’, ’three’, ’four’, ’stop’, ’five’); while (list (, $val) = each($arr)) {if ($val == ’stop’) { break; /* You could also write ’break 1;’ here. */}echo '$val<br />n'; } /* 使用可選參數(shù) */ $i = 0; while (++$i) {switch ($i) {case 5: echo 'At 5<br />n'; break 1; /* 只退出 switch. */case 10: echo 'At 10; quitting<br />n'; break 2; /* 退出 switch 和 while 循環(huán) */default: break;} }?>continue
(PHP 4, PHP 5)
continue?在循環(huán)結(jié)構(gòu)用用來跳過本次循環(huán)中剩余的代碼并在條件求值為真時(shí)開始執(zhí)行下一次循環(huán)。
Note:?注意在 PHP 中?switch?語句被認(rèn)為是可以使用?continue?的一種循環(huán)結(jié)構(gòu)。
continue?接受一個(gè)可選的數(shù)字參數(shù)來決定跳過幾重循環(huán)到循環(huán)結(jié)尾。默認(rèn)值是?1,即跳到當(dāng)前循環(huán)末尾。
<?php while (list ($key, $value) = each($arr)) {if (!($key % 2)) { // skip odd members continue;}do_something_odd($value); } $i = 0; while ($i++ < 5) {echo 'Outer<br />n';while (1) { echo 'Middle<br />n'; while (1) {echo 'Inner<br />n';continue 3; } echo 'This never gets output.<br />n';}echo 'Neither does this.<br />n'; }?>
省略?continue?后面的分號(hào)會(huì)導(dǎo)致混淆。以下例子示意了不應(yīng)該這樣做。
<?php for ($i = 0; $i < 5; ++$i) {if ($i == 2) continueprint '$in'; }?>
希望得到的結(jié)果是:
0134
可實(shí)際的輸出是:
2
因?yàn)檎麄€(gè)?continue print '$in';?被當(dāng)做單一的表達(dá)式而求值,所以?print?函數(shù)只有在?$i == 2?為真時(shí)才被調(diào)用(print?的值被當(dāng)成了上述的可選數(shù)字參數(shù)而傳遞給了continue)。
相關(guān)文章:
1. xml文件的結(jié)構(gòu)解讀第1/2頁(yè)2. jsp實(shí)現(xiàn)局部刷新頁(yè)面、異步加載頁(yè)面的方法3. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐4. SSM框架整合JSP中集成easyui前端ui項(xiàng)目開發(fā)示例詳解5. python線性插值解析6. PHP連接MySQL數(shù)據(jù)庫(kù)操作代碼實(shí)例解析7. Python requests模塊session代碼實(shí)例8. JSP 中request與response的用法詳解9. 詳解java CountDownLatch和CyclicBarrier在內(nèi)部實(shí)現(xiàn)和場(chǎng)景上的區(qū)別10. python文件讀取失敗怎么處理
