• <abbr id="qqgmy"></abbr>
      <menu id="qqgmy"><abbr id="qqgmy"></abbr></menu>
    • <rt id="qqgmy"><code id="qqgmy"></code></rt>
      • PHP流程控制(3)

        • 2020-07-24 10:55:32
        • 閱讀次數(shù):
        • 作者:盈嵐科技小編
        • 來源:http://www.margaycoffee.com

        流程控制的替代方法

        網(wǎng)站建設(shè)里,PHP提供了一些流程控制的替代語法,包括if、switch、while、for、foreach。替代語法的基本形式是把左花括號(hào)({)換成冒號(hào)(:),把右花括號(hào)(})分別換成endif;、endswitch;、endwhile;、endfor;和endforeach;。如:

        <?phpif ($a == 1):    echo "a=1";elseif ($a == 2) echo "a=2";else:    echo "a<>1、2";endif;?>

        break控制流程語句

        break語句能夠結(jié)束當(dāng)前for、foreach、while、do-while或者switch結(jié)構(gòu)的執(zhí)行。同時(shí)break可以接受一個(gè)可選的數(shù)字參數(shù)來決定跳出幾重循環(huán)。如:<?php$i = 0;while (++$i) {    switch ($i) {    case 5:        echo " 5<br />\n";        break 1;            /*只退出switch */    case 10: echo " 10 <br />\n";        break 2;            /*退出switch和while循環(huán)*/    default:        break;    }}?>

        continue控制流程語句

        continue在循環(huán)結(jié)構(gòu)用來跳過本次循環(huán)中剩余的代碼,并在條件求值為真時(shí)開始執(zhí)行下一次循環(huán)。它可以接受一個(gè)可選的數(shù)字參數(shù)來決定跳過幾重循環(huán)到循環(huán)結(jié)尾。如:

        <?php$i = 0;while ($i++ < 5) {    echo "3層循環(huán)<br />\n";    while (1) { echo "&nbsp;&nbsp;2重循環(huán)<br />\n";        while (1) {            echo "&nbsp;&nbsp;1重循環(huán)<br />\n";            continue 3;        }        echo "不輸出該句<br />\n";    }    echo "不執(zhí)行該句<br />\n";}?>

        注意:在PHP中switch語句被認(rèn)為是可以使用continue的一種循環(huán)結(jié)構(gòu)。

        goto控制流程語句

        goto語句可以用來跳轉(zhuǎn)到程序中的某一指定位置。該目標(biāo)位置可以用目標(biāo)名稱加上冒號(hào)來標(biāo)記。如:

        <?phpgoto a;echo 1;a:echo 2;?>

        在上面示例中,將輸出2,而不是1。PHP中的goto有一定限制,只能在同一個(gè)文件和作用域中跳轉(zhuǎn),也就是說無法跳出一個(gè)函數(shù)或類方法,也無法跳入到另一個(gè)函數(shù)。同時(shí)也無法跳入到任何循環(huán)或者switch結(jié)構(gòu)中。常見的用法是用來跳出循環(huán)或者switch,可以代替多層的break。該語句僅在PHP 5.3及以上版本有效。

        include和require控制流程語句

        include和require語句包含并運(yùn)行指定文件。這兩種結(jié)構(gòu)除了在如何處理失敗之外完全一樣。in-clude產(chǎn)生一個(gè)警告,而require則會(huì)導(dǎo)致一個(gè)致命錯(cuò)誤。換句話說,如果想在遇到丟失文件時(shí)停止處理頁面就用require。include就不是這樣,腳本會(huì)繼續(xù)運(yùn)行。同時(shí)也要確認(rèn)設(shè)置了合適的include-path。

        include和require語句尋找包含文件的順序先是在當(dāng)前工作目錄的相對(duì)的include-path下尋找,然后是當(dāng)前運(yùn)行腳本所在目錄相對(duì)的include-path下尋找。例如,include-path是.,當(dāng)前工作目錄是/www/,腳本中要include一個(gè)include/a.php,且在該文件中有一句include "b.php",則尋找b.php的順序先是/www/,然后是/www/include/。如果文件名以./或者../開始,則只在當(dāng)前工作目錄相對(duì)的include-path下尋找。當(dāng)一個(gè)文件被包含時(shí),其中所包含的代碼繼承了include所在行的變量范圍。從該處開始,調(diào)用文件在該行處可用的任何變量在被調(diào)用的文件中也都可用。不過所有在包含文件中定義的函數(shù)和類都具有全局作用域。

        例如,新建vars.php文件:

        <?php$color = 'green';$fruit = 'apple';?>

        再創(chuàng)建test.php文件:

        <?phpecho "A $color $fruit"; // Ainclude 'vars.php';echo "A $color $fruit";?>

        如果include出現(xiàn)于調(diào)用文件中的一個(gè)函數(shù)里,則被調(diào)用的文件中所包含的所有代碼將表現(xiàn)得如同它們是在該函數(shù)內(nèi)部定義的一樣,所以它將遵循該函數(shù)的變量范圍。

        <?phpfunction foo(){    global $color;    include 'vars.php';    echo "A $color $fruit";}foo();echo "A $color $fruit";?>

        當(dāng)一個(gè)文件被包含時(shí),語法解析器在目標(biāo)文件的開頭脫離PHP模式并進(jìn)入HTML模式,到文件結(jié)尾處恢復(fù)。由于此原因,目標(biāo)文件中應(yīng)被當(dāng)作PHP代碼執(zhí)行的任何代碼都必須被包括在有效的PHP起始和結(jié)束標(biāo)記之中。

        當(dāng)前文章標(biāo)題:PHP流程控制(3)

        當(dāng)前URL:http://www.margaycoffee.com/news/wzzz/3246.html

        上一篇:PHP流程控制(2)

        下一篇:PHP函數(shù)(1)

        網(wǎng)站建設(shè)、抖音推廣、頭條推廣、微信朋友圈推廣、快手推廣專線:181-8386-5875(微信同號(hào))
        在线一区视频二区三区,av无码久久久不卡网站,亚洲国产人成精品,国产成人白丝视频
        • <abbr id="qqgmy"></abbr>
          <menu id="qqgmy"><abbr id="qqgmy"></abbr></menu>
        • <rt id="qqgmy"><code id="qqgmy"></code></rt>