最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解析PHP跳出循環(huán)的方法以及continue、break、exit的區(qū)別介紹

 更新時(shí)間:2013年07月01日 15:44:08   作者:  
本篇文章是對(duì)PHP跳出循環(huán)的方法以及continue、break、exit的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
PHP中的循環(huán)結(jié)構(gòu)大致有for循環(huán),while循環(huán),do{} while 循環(huán)以及foreach循環(huán)幾種,不管哪種循環(huán)中,在PHP中跳出循環(huán)大致有這么幾種方式:
代碼:
復(fù)制代碼 代碼如下:

<?php
$i = 1;
while (true) { // 這里看上去這個(gè)循環(huán)會(huì)一直執(zhí)行
    if ($i==2) {// 2跳過(guò)不顯示
        $i++;
        continue;
    } else if ($i==5) {// 但到這里$i=5就跳出循循環(huán)了
        break;
    } else {
        echo $i . '<br>';
    }
    $i++;
}
exit;
echo '這里不輸出';
?>

結(jié)果:
1
3
4
continue
continue 是用來(lái)用在循環(huán)結(jié)構(gòu)中,控制程序放棄本次循環(huán)continue語(yǔ)句之后的代碼并轉(zhuǎn)而進(jìn)行下一次循環(huán)。continue本身并不跳出循環(huán)結(jié)構(gòu),只是放棄這一次循環(huán)。如果在非循環(huán)結(jié)構(gòu)中(例如if語(yǔ)句中,switch語(yǔ)句中)使用continue,程序?qū)?huì)出錯(cuò)。
例如在下面的這段PHP代碼片段中:
復(fù)制代碼 代碼如下:

<?php
for($i = 1;$i <= 100; $i++ ){
if($i % 3 == 0 || $i % 7 == 0){
continue;
}
& #160;  else{
echo”$i \n<br/>”;
}
}
?>

PHP的代碼片段的作用是輸出100以?xún)?nèi),既不能被7整除又不能被3整除的那些自然數(shù),循環(huán)中先用if條件語(yǔ)句判斷那些能被整除的數(shù),然后執(zhí)行 continue;語(yǔ)句,就直接進(jìn)入了下個(gè)循環(huán)。不會(huì)執(zhí)行下面的輸出語(yǔ)句了。

break
break是被用在上面所提的各種循環(huán)和switch語(yǔ)句中的。他的作用是跳出當(dāng)前的語(yǔ)法結(jié)構(gòu),執(zhí)行下面的語(yǔ)句。break語(yǔ)句可以帶一個(gè)參數(shù)n,表示跳出循環(huán)的層數(shù),如果要跳出多重循環(huán)的話(huà),可以用n來(lái)表示跳出的層數(shù),如果不帶參數(shù)默認(rèn)是跳出本重循環(huán)。
看下面這個(gè)多重循環(huán)嵌套的例子:
復(fù)制代碼 代碼如下:

for($i = 1;$i <= 10; $i++ ){
for($j = 1;$j <= 10;$j++){
$m = $i * $i + $j * $j;
echo”$m \n<br/>”;
if($m < 90 || $m > 190) {
break 2;
}
}
}

這里使用了break 2跳出了兩重循環(huán),你可以試驗(yàn)一眼,將2去掉,得到的結(jié)果是完全不一樣的。如果不使用參數(shù),跳出的只是本次循環(huán),第一層循環(huán)會(huì)繼續(xù)執(zhí)行下去。

goto
goto實(shí)際上只是一個(gè)運(yùn)算符,和其他語(yǔ)言一樣,PHP中也不鼓勵(lì)濫用goto,濫用goto會(huì)導(dǎo)致程序的可讀性嚴(yán)重下降。goto的作用是將程序的執(zhí)行從當(dāng)前位置跳轉(zhuǎn)到其他任意位置,goto本身并沒(méi)有要結(jié)束的循環(huán)的作用,但其跳轉(zhuǎn)位置的作用使得其可以作為跳出循環(huán)使用。但PHP5.3及以上版本停止了對(duì)goto的支持,所以應(yīng)該盡量避免使用goto。
下面的是一個(gè)使用了goto跳出循環(huán)的例子
復(fù)制代碼 代碼如下:

for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) <= 29){
goto a;
}
echo “$i”;
}
a:
echo” this is the end”;

例子中使用了goto來(lái)跳出循環(huán),這個(gè)例子用來(lái)檢測(cè)1000以?xún)?nèi),那些數(shù)的平方根大于29。

exit
exit是用來(lái)結(jié)束程序執(zhí)行的??梢杂迷谌魏蔚胤剑旧頉](méi)有跳出循環(huán)的含義。exit可以帶一個(gè)參數(shù),如果參數(shù)是字符串,PHP將會(huì)直接把字符串輸出,如果參數(shù)是integer整形(范圍是0-254),那個(gè)參數(shù)將會(huì)被作為結(jié)束狀態(tài)使用。
復(fù)制代碼 代碼如下:

<?php
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) >= 29){
echo”$i \n<br/>”;
}
else{
exit;
}
}
echo”本行將不會(huì)被輸出”;
?>

上面這個(gè)例子中直接在從循環(huán)里結(jié)束了代碼的運(yùn)行,這樣會(huì)導(dǎo)致后面的代碼都不會(huì)被執(zhí)行,如果是在一個(gè)php web 頁(yè)面里面,甚至連exit后面的html代碼都不會(huì)被輸出。

return
return 語(yǔ)句是用來(lái)結(jié)束一段代碼,并返回一個(gè)參數(shù)的??梢詮囊粋€(gè)函數(shù)里調(diào)用,也可以從一個(gè)include()或者require()語(yǔ)句包含的文件里來(lái)調(diào)用,也可以是在主程序里調(diào)用,如果是在函數(shù)里調(diào)用程序?qū)?huì)馬上結(jié)束運(yùn)行并返回參數(shù),如果是include()或者require()語(yǔ)句包含的文件中被調(diào)用,程序執(zhí)行將會(huì)馬上返回到調(diào)用該文件的程序,而返回值將作為include()或者require()的返回值。而如果是在主程序中調(diào)用,那么主程序?qū)?huì)馬上停止執(zhí)行
復(fù)制代碼 代碼如下:

<?php
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) >= 29){
echo”$i \n<br/>”;
}
else{
return;
}
}
echo”本行將不會(huì)被輸出”;
?>

這里的例子和上面使用exit的效果是一樣的。
在循環(huán)結(jié)束條件,自然跳出
這個(gè)當(dāng)然是最好理解了,當(dāng)循環(huán)滿(mǎn)足循環(huán)臨界條件時(shí)就是自己退出。
以上是PHP中跳出循環(huán)的幾種方式的簡(jiǎn)單總結(jié)。

相關(guān)文章

  • file_get_contents獲取不到網(wǎng)頁(yè)內(nèi)容的解決方法

    file_get_contents獲取不到網(wǎng)頁(yè)內(nèi)容的解決方法

    file_get_contents獲取不到網(wǎng)頁(yè)內(nèi)容的解決方法,需要的朋友可以參考一下
    2013-03-03
  • PHP的攔截器實(shí)例分析

    PHP的攔截器實(shí)例分析

    這篇文章主要介紹了PHP的攔截器,以實(shí)例形式分析了常見(jiàn)的各類(lèi)攔截器的用法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-11-11
  • php判斷一個(gè)數(shù)組是否為有序的方法

    php判斷一個(gè)數(shù)組是否為有序的方法

    這篇文章主要介紹了php判斷一個(gè)數(shù)組是否為有序的方法,涉及php操作數(shù)組遍歷的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-03-03
  • PHP封裝的驗(yàn)證碼工具類(lèi)定義與用法示例

    PHP封裝的驗(yàn)證碼工具類(lèi)定義與用法示例

    這篇文章主要介紹了PHP封裝的驗(yàn)證碼工具類(lèi)定義與用法,結(jié)合完整實(shí)例形式詳細(xì)分析了php封裝的驗(yàn)證碼工具類(lèi)相關(guān)圖片創(chuàng)建、隨機(jī)字符串、驗(yàn)證碼驗(yàn)證等功能定義與使用技巧,需要的朋友可以參考下
    2018-08-08
  • php中JSON的使用方法

    php中JSON的使用方法

    json常用來(lái)作為數(shù)據(jù)交換的一種格式,和xml相比體積更小。缺點(diǎn)就是層級(jí)關(guān)系不明顯不大容易被理解。php中生成json要借助array和json_encode,json_decode一起使用。越復(fù)雜的json嵌套的數(shù)組越多,下面我們來(lái)仔細(xì)探討下這個(gè)問(wèn)題。
    2015-04-04
  • PHP Token(令牌)設(shè)計(jì)

    PHP Token(令牌)設(shè)計(jì)

    PHP Token(令牌)設(shè)計(jì) 設(shè)計(jì)目標(biāo): 避免重復(fù)提交數(shù)據(jù). 檢查來(lái)路,是否是外部提交 匹配要執(zhí)行的動(dòng)作(如果有多個(gè)邏輯在同一個(gè)頁(yè)面實(shí)現(xiàn),比如新增,刪除,修改放到一個(gè)PHP文件里操作) 這里所說(shuō)的token是在頁(yè)面顯示的時(shí)候,寫(xiě)到FORM的一個(gè)隱藏表單項(xiàng)(type=hidden). token不可明文,如果是明文,那就太危險(xiǎn)了,所以要采用一定的加密方式.密文要可逆.俺算法很白癡,所以采用了網(wǎng)上一個(gè)現(xiàn)成的方法.
    2008-03-03
  • Discuz開(kāi)啟Gzip壓縮多種方法匯總

    Discuz開(kāi)啟Gzip壓縮多種方法匯總

    GZip可對(duì)多種類(lèi)型的文件進(jìn)行壓縮,對(duì)于CSS、JS、HTML文件具有極高的壓縮率,尤其對(duì)使用了較多JS特效的網(wǎng)站,開(kāi)啟GZip后壓縮比高達(dá)70%。
    2023-05-05
  • 與文件上傳有關(guān)的php配置參數(shù)總結(jié)

    與文件上傳有關(guān)的php配置參數(shù)總結(jié)

    搞個(gè)了圖片上傳,死活不好使,后來(lái)發(fā)現(xiàn)是php參數(shù)配置的問(wèn)題,下面總結(jié)下與文件上傳有關(guān)的php參數(shù),有類(lèi)似情況的朋友可以參考下哈
    2013-06-06
  • PHP動(dòng)態(tài)柱狀圖實(shí)現(xiàn)方法

    PHP動(dòng)態(tài)柱狀圖實(shí)現(xiàn)方法

    這篇文章主要介紹了PHP動(dòng)態(tài)柱狀圖實(shí)現(xiàn)方法,實(shí)例分析了php結(jié)合HTML元素實(shí)現(xiàn)動(dòng)態(tài)柱狀圖的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-03-03
  • php中$this-&gt;含義分析

    php中$this-&gt;含義分析

    $this 的含義是表示 實(shí)例化后的 具體對(duì)象!
    2009-11-11

最新評(píng)論

鹤峰县| 万源市| 南陵县| 和顺县| 蒙城县| 黔西| 隆化县| 富顺县| 大冶市| 平谷区| 晴隆县| 突泉县| 东安县| 云阳县| 桃园县| 寿光市| 栾川县| 普定县| 汤阴县| 繁昌县| 印江| 丹寨县| 贵港市| 秀山| 临沂市| 德江县| 虞城县| 洪洞县| 永寿县| 阿荣旗| 健康| 大同市| 武功县| 嵊州市| 双辽市| 兴仁县| 通州区| 民县| 西昌市| 磴口县| 太湖县|