php--break/continue

伊谢尔伦
Lepaskan: 2016-11-24 09:19:08
asal
958 orang telah melayarinya

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;
        }
    }
?>
Salin selepas log masuk

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";
    }
?>
Salin selepas log masuk

省略 continue 后面的分号会导致混淆。以下例子示意了不应该这样做。

<?php
    for ($i = 0; $i < 5; ++$i) {
        if ($i == 2)
            continue
        print "$i\n";
    }
?>
Salin selepas log masuk

希望得到的结果是:

0
1
3
4
Salin selepas log masuk

可实际的输出是:

2
Salin selepas log masuk

因为整个 continue print "$i\n"; 被当做单一的表达式而求值,所以 print 函数只有在 $i == 2 为真时才被调用(print 的值被当成了上述的可选数字参数而传递给了continue)。


Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan