官术网_书友最值得收藏!

4.3 跳轉語句

視頻講解:光盤\TM\lx\4\09 跳轉語句.mp4

在使用循環語句時,有時不確定循環的次數,遇到這樣的情況可以使用無限循環,如:

        while(true){
            …
        }

        for(; ; ){
            …
        }

只有當程序塊滿足一定條件后才跳出循環,跳出循環使用的關鍵字是break和continue。

4.3.1 break語句

break關鍵字可以終止當前的循環,包括while、do…while、for、foreach和switch在內的所有控制語句。下面來看一個實例。

【例4.9】本例將使用一個while循環,while后面的判斷式的值為true,即為一個無限循環。在while程序塊中將聲明一個隨機數變量$tmp,只有當生成的隨機數等于10時,使用break語句跳出循環。實例代碼如下:(實例位置:光盤\TM\sl\4\9)

        <?php
          while(true){                               //使用while循環
              $tmp=rand(1,20);                       //聲明一個隨機數變量$tmp
              echo$tmp."";                            //輸出隨機數
              if($tmp==10){                           //判斷隨機數是否等于10
                  echo "<p>變量等于10,終止循環";
                  break;                             //如果等于10,使用break語句跳出循環
              }
          }
        ?>

運行結果如圖4.11所示。

圖4.11 使用break語句跳出循環

break語句不僅可以跳出當前的循環,還可以指定跳出幾重循環。格式如下:

        break $num;

其中,$num指定要跳出幾層循環。break關鍵字的流程控制圖如圖4.12所示。

圖4.12 break流程控制圖

【例4.10】本例共有3層循環,最外層的while循環和中間層的for循環是無限循環,最里面并列兩個for循環:程序首先執行第一個for循環,當變量$i等于7時,跳出當前循環(一重循環),繼續執行第二個for循環,當第二個for循環中的變量$j等于15時,將直接跳出最外層循環。實例代碼如下:(實例位置:光盤\TM\sl\4\10)

運行結果如圖4.13所示。

圖4.13 使用break關鍵字跳出多重循環

4.3.2 continue語句

continue關鍵字的作用沒有break強大,它只能終止本次循環而進入到下一次循環中,也可以指定跳出幾重循環。continue關鍵字的流程控制圖如圖4.14所示。

圖4.14 continue流程控制圖

【例4.11】本例使用for循環輸出A~J的數組變量。如果變量的數組下標為偶數,則只輸出一個空行;如果是奇數,則繼續輸出。在最里面的循環中,判斷當前數組下標是否等于$i,如果不相等,則輸出數組變量,否則跳到最外重循環。實例代碼如下:(實例位置:光盤\TM\sl\4\11)

        <?php
            $arr=array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J");    //聲明一個數組變量$arr
            for($i=0; $i<10; $i++){                                          //使用for循環
                echo "<br>";
                if($i % 2==0){                                               //如果$i的值為偶數,則跳出本次循環
                    continue;
                }
                for(; ; ){                                                   //無限循環
                    for($j=0; $j<count($arr); $j++){                         //再次使用for循環輸出數組變量
                        if($j==$i){                                          //如果當前輸出的數組下標等于$i
                            continue 3;                                      //跳出最外重循環
                        }else{
                            echo"\$arr[".$j."]=".$arr[$j]."";                //輸出表達式
                        }
                    }
                }
                echo "這句話永遠不會輸出";
            }
        ?>

運行結果如圖4.15所示。

圖4.15 使用continue關鍵字控制流程

主站蜘蛛池模板: 文昌市| 修水县| 思茅市| 中江县| 辽阳县| 柳州市| 东丰县| 邵东县| 鲁山县| 福安市| 三明市| 吉水县| 贵溪市| 固阳县| 关岭| 略阳县| 眉山市| 湖南省| 塔河县| 吐鲁番市| 饶阳县| 长沙县| 辽源市| 介休市| 三都| 耒阳市| 阿合奇县| 潢川县| 拉孜县| 新昌县| 双桥区| 镇康县| 方正县| 漯河市| 阿合奇县| 杨浦区| 都昌县| 浠水县| 天镇县| 广灵县| 佛教|