2011-03-02 57 views

回答

76
$array = array(1,2,3); 
foreach ($array as $item){ 
    if ($item == 2) { 
    break; 
    } 
    echo $item; 
} 

輸出 「1」,因爲環被打破永遠,前回波能夠打印 「2」。

$array = array(1,2,3); 
foreach ($array as $item){ 
    if ($item == 2) { 
    continue; 
    } 
    echo $item; 
} 

輸出13因爲在第二次迭代是由於break 2傳遞

$numbers = array(1,2,3); 
$letters = array("A","B","C"); 
foreach ($numbers as $num){ 
    foreach ($letters as $char){ 
    if ($char == "C") { 
     break 2; // if this was break, o/p will be AB1AB2AB3 
    } 
    echo $char; 
    } 
    echo $num; 
} 

輸出AB,這意味着這兩個語句是相當早期斷裂。如果這只是break,則輸出將是AB1AB2AB3

$numbers = array(1,2,3); 
$letters = array("A","B","C"); 
foreach ($numbers as $num){ 
    foreach ($letters as $char){ 
    if ($char == "C") { 
     continue 2; 
    } 
    echo $char; 
    } 
    echo $num; 
} 

將輸出ABABAB,因爲continue 2:外環將通過每一次。

換句話說,continue停止當前迭代執行,但讓另一個運行,而break完全停止整個語句。
所以我們可以說continue僅適用於循環,而break可以用於其他語句,如switch

數字代表嵌套陳述受影響的數量。
如果存在2個嵌套循環,則內部循環中的break將打破內部循環(但是,由於內部循環將在外部循環的下一次迭代中再次啓動,所以它沒有多大意義)。內循環中的break 2將會破壞兩者。

32

數量只是說: 「多少範圍跳出」

<?php 
for($i = 0; $i < 10; ++$i) { 
    for($j = 0; $j < 10; ++$j) { 
     break 2; 
    } 
} 

$ i和附加$ J爲0

引述the manual:

繼續接受一個可選的數字參數,告訴它應該跳到多少級別的封閉循環。

同樣是爲了休息。

3

符:打破最內層循環(退出循環)

休息2:打破2嵌套級環(從2個嵌套循環退出)

繼續:力迴路用於從下一次迭代在那裏,不執行的循環代碼其餘用於

繼續2:從它被用在未來2迭代力循環,不執行的循環代碼其餘

退出循環,當我們遇到$array值爲5

break 
    $array(4,5,8); 
    for ($i=0 ;$i < 10 $i ++) 
    { 
     if ($array[$i]==5) 
     { 
      break; 
     } 
    } 

斷裂(N)

退出兩個環時,我們遇到$數組值5;

for ($i=0 ;$i < 10 $i ++) 
    { 
    for($j=0; $j <10; $j++) 
    { 
      if ($array[$i][$j]==5) 
      { 
       break 2; 
      } 
    } 
} 

繼續

將打印消息時值爲5;

for($i=0; $i<10; $i++) 
{ 
    if ($array[$i] != 5) 
    { 
    continue;// will reach at the first line from here which is for($i=0;..... 
    } 
    echo 'This is five'; 
} 

}

9

break接受一個可選的數字參數,告訴它有多少嵌套的封閉結構將被分解出來。

<?php 
$arr = array('one', 'two', 'three', 'four', 'stop', 'five'); 
while (list(, $val) = each($arr)) { 
    if ($val == 'stop') { 
     break; /* You could also write 'break 1;' here. */ 
    } 
    echo "$val<br />\n"; 
} 

/* Using the optional argument. */ 

$i = 0; 
while (++$i) { 
    switch ($i) { 
    case 5: 
     echo "At 5<br />\n"; 
     break 1; /* Exit only the switch. */ 
    case 10: 
     echo "At 10; quitting<br />\n"; 
     break 2; /* Exit the switch and the while. */ 
    default: 
     break; 
    } 
} 
?> 

More examples of break

繼續接受一個可選的數字參數來告訴它應該多少封閉循環的水平跳到結束。默認值是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"; 
} 
?> 

More examples of continue