>백엔드 개발 >PHP 튜토리얼 >루프에서 벗어나는 PHP의 여러 가지 방법 소개 및 예제와의 차이점에 대한 자세한 설명

루프에서 벗어나는 PHP의 여러 가지 방법 소개 및 예제와의 차이점에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-06-24 09:11:073088검색

PHP의 루프 구조에는 일반적으로 for 루프, while 루프, do{} while 루프 및 foreach 루프가 포함됩니다. 어떤 종류의 루프이든지 기본적으로 PHP에서 루프를 벗어나는 방법에는 여러 가지가 있습니다.

코드 :

<?php
$i = 1;
while (true) { // 这里看上去这个循环会一直执行
    if ($i==2) {// 2跳过不显示
        $i++;
        continue;
    } else if ($i==5) {// 但到这里$i=5就跳出循循环了
        break;
    } else {
        echo $i . "<br>";
    }
    $i++;
}
exit;
echo "这里不输出";
?>

Result:

1
3
4

continue
continue는 루프 구조에서 이 루프의 continue 문 이후 코드를 버리고 다음 루프로 이동하도록 프로그램을 제어하는 ​​데 사용됩니다. continue 자체는 루프 구조에서 벗어나지 않고 이번에는 루프를 포기할 뿐입니다. 루프가 아닌 구조(예: if 문, switch 문)에서 continue를 사용하면 프로그램이 잘못됩니다.
예를 들어, 다음 PHP 코드 조각에서:

<?php
for($i = 1;$i <= 100; $i++ ){
if($i % 3 == 0 || $i % 7 == 0){
continue;
}
else{
echo "$i \n<br/>";
}
}
?>

PHP 코드 조각의 기능은 7로 나누어지지도 않고 3으로도 나누어지지도 않는 100 이내의 자연수를 출력하는 것입니다. 먼저 다음에서 if 조건문을 사용합니다. 루프 나누어질 수 있는 숫자를 결정한 후 continue; 문을 실행하여 다음 루프로 직접 들어갑니다. 다음 출력 문은 실행되지 않습니다.

break
break는 위에서 언급한 다양한 루프 및 스위치 문에 사용됩니다. 그 기능은 현재 문법 구조에서 벗어나 다음 명령문을 실행하는 것입니다. break 문은 루프에서 점프할 레벨 수를 나타내는 매개변수 n을 사용할 수 있습니다. 여러 루프에서 점프하려는 경우, 루프에서 점프할 레벨 수를 나타내기 위해 n을 사용할 수 있습니다. 매개변수에서 기본값은 현재 루프에서 점프하는 것입니다.
다중 루프 중첩의 다음 예를 살펴보세요.

for($i = 1;$i <= 10; $i++ ){
for($j = 1;$j <= 10;$j++){
$m = $i * $i + $j * $j;
echo "$m \n<br/>";
if($m < 90 || $m > 190) {
break 2;}}}

여기서 중단 2는 두 루프에서 벗어나는 데 사용됩니다. 이를 시도하고 2를 제거할 수 있습니다. 결과는 완전히 다릅니다. 매개변수를 사용하지 않으면 이 루프만 점프아웃되고 첫 번째 레벨 루프가 계속 실행됩니다.

goto
goto는 실제로는 연산자일 뿐입니다. 다른 언어와 마찬가지로 PHP에서는 goto를 남용하는 것이 프로그램의 가독성을 심각하게 저하시킬 수 있습니다. goto의 기능은 프로그램 실행을 현재 위치에서 다른 위치로 점프하는 것입니다. goto 자체에는 루프를 종료하는 기능이 없지만 점프 위치를 사용하면 루프 밖으로 점프하는 데 사용할 수 있습니다. 하지만 PHP5.3 이상에서는 goto 지원이 중단되었으므로 goto 사용을 피해야 합니다.
다음은 goto를 사용하여 루프를 탈출하는 예입니다.

for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) <= 29){
goto a;
}
echo "$i";
}
a:echo "this is the end";

이 예는 goto를 사용하여 루프를 탈출하는 데 사용됩니다. 이 예는 1000 내에서 29보다 큰 숫자의 제곱근을 감지하는 데 사용됩니다.

exit
exit는 프로그램 실행을 종료하는 데 사용됩니다. 어디에서나 사용할 수 있으며 루프에서 벗어나는 의미가 없습니다. 출구는 하나의 매개변수를 취할 수 있습니다. 매개변수가 string이면 PHP는 문자열을 직접 출력합니다. 매개변수가 정수(범위는 0-254)이면 해당 매개변수가 종료 상태로 사용됩니다.

<?php
for($i = 1000;$i >= 1;$i--){
if( sqrt($i) >= 29){
echo "$i \n<br/>";
}
else{
exit;
}
}
echo "本行将不会被输出";
?>

위의 예에서는 코드 실행이 루프에서 직접 종료되므로 후속 코드가 실행되지 않습니다. PHP 웹 페이지에 있으면 종료 후 html 코드도 실행되지 않습니다. 산출.

return
return 문은 코드를 끝내고 매개변수를 반환하는 데 사용됩니다. 함수나 include() 또는 require() 문에 포함된 파일에서 호출할 수 있습니다. 또는 기본 프로그램에서 호출할 수 있습니다. 함수에서 호출하면 프로그램이 즉시 종료되고 다음을 반환합니다. 매개변수, include() 또는 require() 문에 포함된 파일에서 호출되면 프로그램 실행은 즉시 파일을 호출한 프로그램으로 반환되며 반환 값은 include()의 반환 값으로 사용됩니다. 또는 요구(). 그리고 메인 프로그램에서 호출되면 메인 프로그램은 즉시 실행을 중지합니다

<?php
for($i = 1000;$i >= 1 ; $i--){
if( sqrt($i) >= 29){
echo "$i \n<br/>";
}
else{
return;
}
}
echo "本行将不会被输出";
?>

여기의 예는 위의 종료를 사용한 것과 동일한 효과를 갖습니다.
루프가 끝나면 자연스럽게 튀어나옵니다
물론 이것이 가장 이해하기 쉬운 설명입니다. 루프가 루프의 임계 조건을 충족하면 자체적으로 종료됩니다.
위 내용은 PHP에서 루프를 벗어나는 여러 가지 방법에 대한 간략한 요약입니다.

위 내용은 루프에서 벗어나는 PHP의 여러 가지 방법 소개 및 예제와의 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.