php--中斷/繼續

伊谢尔伦
發布: 2016-11-24 09:19:08
原創
957 人瀏覽過

break

(PHP 4, PHP 5)

break 結束目前 for,foreach,while,do-while 或 switch 結構的執行。

break 可以接受一個可選的數字參數來決定跳出幾重循環。

<?php
    $arr = array(&#39;one&#39;, &#39;two&#39;, &#39;three&#39;, &#39;four&#39;, &#39;stop&#39;, &#39;five&#39;);
    while (list (, $val) = each($arr)) {
        if ($val == &#39;stop&#39;) {
            break; /* You could also write &#39;break 1;&#39; here. */
        }
        echo "$val<br />\n";
    }
    /* 使用可选参数 */
    $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 循环 */
        default:
            break;
        }
    }
?>
登入後複製

continue

(PHP 4, PHP 5)

continue 在循環結構用來跳過本次循環中剩餘的程式碼並在條件求值為真時開始執行下一次迴圈。

Note: 注意在 PHP 中 switch 語句被認為是可以使用 continue 的一種循環結構。

continue 接受一個可選的數字參數來決定跳過幾重循環到循環結尾。預設值是 1,即跳到目前循環末端。

<?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 後面的分號會造成混淆。以下例子示意了不該這麼做。

<?php
    for ($i = 0; $i < 5; ++$i) {
        if ($i == 2)
            continue
        print "$i\n";
    }
?>
登入後複製

希望得到的結果是:

0
1
3
4
登入後複製

可實際的輸出是:

2
登入後複製

因為整個 continue print "$in"; 被當做單一的表達式而求值,所以 print$ 函數只有在 $.為真時才被呼叫(print 的值當成了上述的可選數字參數而傳遞給了continue)。


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板