2011-03-02 3 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 번째 반복 양쪽 문이 매우 조기 파손되었음을 의미 전달

$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 2, 때문에. 이것이 단지 break 인 경우, 출력은 AB1AB2AB3이었을 것입니다.외부 루프는 모든 시간을 전달한다 : continue 2의 때문에

$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은 현재 반복 실행을 중지하지만 다른 실행을 허용하지만 break은 전체 명령문을 완전히 중지합니다.
따라서 과 같이 break을 다른 문장에서 사용할 수있는 반면 continue은 루프에만 적용 할 수 있습니다.

숫자는 중첩 된 문이 중첩 된 숫자를 나타냅니다.
중첩 된 루프가 2 개있는 경우 내부 루프에있는 break은 내부 루프를 중단합니다 (그러나 외부 루프의 다음 반복에서 내부 루프가 다시 시작됨). 내부 루프의 break 2은 둘 다 손상됩니다.

32

수는 0

the manual:

계속 인용하는 것

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

$ i와 $ j에 "얼마나 많은 범위가 밖으로 뛰어"라고 선택적인 숫자 인자를받습니다.이 인자는 얼마나 많은 레벨의 둘러싸는 루프가 끝까지 건너 뛰어야 하는지를 알려줍니다.

동일한 작업이 중단됩니다.

3

휴식 : (루프 종료)

휴식이 내부 대부분의 루프를 중단 :에서 다음 반복에 대한 힘 루프 :

계속 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

끊기에는 중첩 된 둘러싸는 구조가 몇 개 나오는지 알려주는 선택적 숫자 인수를 사용할 수 있습니다. More examples of 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; } } ?> 

그것의 끝으로 건너 뛰어야 얼마나 많은 둘러싸는 루프의 수준을 알려주는 선택적 숫자 인수를 받아 계속합니다. 기본값은 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

관련 문제