解析PHP跳出循環(huán)的方法以及continue、break、exit的區(qū)別介紹_PHP教程
推薦:php curl選項(xiàng)列表(超詳細(xì))本篇文章是對(duì)php中的curl選項(xiàng)列表進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下 第一類: 對(duì)于下面的這些option的可選參數(shù),value應(yīng)該被設(shè)置一個(gè)bool類型的值: 選項(xiàng) 可選value值 備注 CURLOPT_AUTOREFERER 當(dāng)根據(jù)Location:重定向時(shí),自動(dòng)設(shè)置header中的Referer:信息。 CURLO
PHP中的循環(huán)結(jié)構(gòu)大致有for循環(huán),while循環(huán),do{} while 循環(huán)以及foreach循環(huán)幾種,不管哪種循環(huán)中,在PHP中跳出循環(huán)大致有這么幾種方式:
代碼:
<?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代碼片段中:
<?php
for($i = 1;$i <= 100; $i++ ){
if($i % 3 == 0 || $i % 7 == 0){
continue;
}
& #160; else{
echo”$i \n<br/>”;
}
}
?>
PHP的代碼片段的作用是輸出100以內(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)的話,可以用n來(lái)表示跳出的層數(shù),如果不帶參數(shù)默認(rèn)是跳出本重循環(huán)。
看下面這個(gè)多重循環(huán)嵌套的例子:
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)的例子
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以內(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)使用。
<?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í)行
<?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)滿足循環(huán)臨界條件時(shí)就是自己退出。
以上是PHP中跳出循環(huán)的幾種方式的簡(jiǎn)單總結(jié)。
分享:淺析php插件 HTMLPurifier HTML解析器本篇文章是對(duì)php插件 HTMLPurifier HTML解析器進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下 HTMLPurifier插件的使用 下載HTMLPurifier插件 HTMLPurifier插件有用的部分是 library 使用HTMLPurifier library類庫(kù) 第一種方式 復(fù)制代碼 代碼如下: ?php require_once 'HTMLPurif
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁(yè)面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問(wèn)控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語(yǔ)言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國(guó)語(yǔ)言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
PHP教程Rss訂閱編程教程搜索
PHP教程推薦
- PHP網(wǎng)站開(kāi)發(fā)中關(guān)于包含路徑問(wèn)題的解決方案
- PHP多文件上傳的實(shí)例代碼
- 基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法詳解
- 用PHP程序?yàn)樽约壕W(wǎng)站打造一個(gè)搜索引擎
- PHP實(shí)例:用PHP實(shí)現(xiàn)表單驗(yàn)證碼登陸校驗(yàn)
- PHP_include文件出錯(cuò)的解決方法
- 如何利用PHP操縱Oracle LOB類型數(shù)據(jù)
- LotusPhp筆記之:基于ObjectUtil組件的使用分析
- 解讀PHP錯(cuò)誤報(bào)告
- php筆記之:AOP的應(yīng)用
- 相關(guān)鏈接:
復(fù)制本頁(yè)鏈接| 搜索解析PHP跳出循環(huán)的方法以及continue、break、exit的區(qū)別介紹
- 教程說(shuō)明:
PHP教程-解析PHP跳出循環(huán)的方法以及continue、break、exit的區(qū)別介紹。