> 백엔드 개발 > PHP 문제 > PHP 루프 학습 5: 루프에서 벗어나는 방법은 무엇입니까? 5가지 방법에 대한 간략한 분석

PHP 루프 학습 5: 루프에서 벗어나는 방법은 무엇입니까? 5가지 방법에 대한 간략한 분석

青灯夜游
풀어 주다: 2023-03-11 21:08:01
원래의
16107명이 탐색했습니다.

이전 기사에서는 PHP의 여러 루프 제어 구조(while 루프, do-while 루프, for 루프foreach 루프)에 대해 알아보고 for 루프 문과 foreach를 소개했습니다. 루프 문을 사용하여 배열을 순회할 수 있습니다. 관심이 있으시면 링크를 클릭하여 모두에게 도움이 되기를 바랍니다.

루프 문은 조건이 충족되면 반복적으로 작업을 수행할 수 있지만 때로는 조건이 충족되었지만 루프가 아직 끝나지 않은 경우에도 루프에서 빠져나와야 합니다. 그렇다면 PHP에서 루프를 벗어나는 방법은 무엇입니까? 오늘은 루프에서 벗어나는 5가지 방법인 continue 문, break 문, goto 문, die()/exit() 문, return 문을 알려드리겠습니다.

방법 1: continue 문 사용

continue 문의 기능은 이 루프에서 빠져나온 후 다음 루프를 실행하는 것입니다(continu 문 뒤의 코드를 버리고 다음 루프로 진행).

아래 코드 예시를 살펴보겠습니다.

예제 1: 1에서 10 사이의 모든 짝수 출력(짝수는 2로 나눌 수 있음)

<?php
    for ($i = 1; $i <= 10; $i++) {
        if($i % 2 != 0) {
            continue;
        }
        echo $i.&#39; <br>&#39;;
    }
?>
로그인 후 복사

분석:

  • for ($i = 1; $i <= 10; $ i++){}이 문은 1과 10 사이의 모든 숫자를 반복하는 데 사용할 수 있습니다for ($i = 1; $i <= 10; $i++){}语句可以循环得出1~10 之间的所有数字

  • if($i % 2 != 0)语句用于判断$i的值能整除2,不能整除则()中值为true,则执行continue;语句。

  • 在循环体中,使用if($i % 2 != 0)语句进行判断,如果$i的值能整除2就使用“echo $i”输出;如果$i的值不能整除2,则触发continue;语句,跳出本次循环(不进行输出),执行下一次循环。

输出结果:

2
4
6
8
10
로그인 후 복사

方法2:使用break语句

break语句用于跳出当前的语法结构,可以终止循环体的代码并立即跳出当前的循环,执行循环之后的代码。

break和continue的不同点是:continue语句只是结束本次循环,而 break 语句会终止整个循环的执行。

沿用上面的示例1中代码,将continue;换成break;,会输出什么?

<?php
    for ($i = 1; $i <= 10; $i++) {
        if($i % 2 != 0) {
            break;
        }
        echo $i.&#39; <br>&#39;;
    }
?>
로그인 후 복사

答案是:什么也不输出。为什么会这样尼?我们来分析一下:

forx循环一开始,$i=1,1小于10吗?当然,然后开始执行循环体中的if($i % 2 != 0)语句;

那么1能整除2吗?显然是不能,因此()中值为true,则执行if中的“break;”语句,直接跳出整个循环了,根本没有机会执行“echo $i.&#39; <br>&#39;

if($i % 2 != 0)문은 다음과 같습니다. <를 결정하는 데 사용됨 code>$i의 값은 2로 균등하게 나눌 수 있습니다. 균등하게 나눌 수 없는 경우 ()의 값은 true이고 continue; 문이 실행됩니다. 루프 본문에서 if($i % 2 != 0) 문을 사용하여 $i의 값을 2로 균등하게 나눌 수 있는지 판단합니다. "echo $ i" 출력을 사용합니다. $i의 값을 2로 균등하게 나눌 수 없으면 continue; 문이 트리거되어 이 루프에서 빠져나옵니다(출력 없음). ), 다음 루프를 실행합니다.

출력 결과:

<?php
for ($i = 1; $i <= 10; $i++) {
    if($i % 2 == 0) {
        goto a;
    }
    echo $i.&#39; <br>&#39;;
}
a:
?>
로그인 후 복사

방법 2: break 문 사용

break 문은 현재 구문 구조에서 벗어나는 데 사용됩니다. 루프 본문을 종료하고 즉시 현재 루프에서 빠져나와 루프 뒤의 코드를 실행합니다.

break와 continue의 차이점은 continue 문은 현재 루프만 종료하는 반면, break 문은 전체 루프의 실행을 종료한다는 것입니다.

위 예제 1의 코드를 사용하고 continue;break;로 바꾸세요.

1
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

답은
아무 것도 출력하지 마세요

입니다. 왜 이런 일이 발생합니까? 분석해 보겠습니다. forx 루프의 시작 부분인 $i=1에서 1은 10보다 작습니까? 물론, 루프 본문에서 if($i % 2 != 0) 문을 실행해 보세요. 그러면 1을 2로 나눌 수 있을까요? 당연히 그럴 수 없으므로 ()의 값이 true이면 if의 "break;" 문이 실행되어 전체 루프에서 직접 빠져나와 " echo $i.' &lt ;br>'" 문입니다.

방법 3: goto 문

goto의 기능은 프로그램 실행을 현재 위치에서 다른 위치로 점프하는 것입니다. 대상 위치는 대상 이름 뒤에 콜론이 오는 방식으로 표시할 수 있으며(예: name: ) 점프 명령은 goto 다음에 대상 위치 표시를 사용하는 것입니다.

goto 자체에는 루프를 종료하는 기능이 없지만 점프 위치를 사용하면 루프에서 점프하는 데 사용할 수 있습니다.

아래 코드 예시를 살펴보겠습니다.

예 2: 1~10 사이의 모든 홀수 출력(홀수는 2로 나눌 수 없음)

<?php
header("Content-type:text/html;charset=utf-8");
for ($i = 1; $i <= 10; $i++) {
    if($i % 2 == 0) {
        die();
    }
    echo $i.&#39; <br>&#39;;
}
?>
로그인 후 복사
출력:
1
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

goto는 실제로 단지 연산자일 뿐이며 사용에는 특정 제한이 있습니다: 대상 위치 점프는 동일한 파일 및 범위에만 있을 수 있습니다.

goto 연산자는 PHP5.3 이상에서만 유효합니다.

방법 4: die()/exit() 문 🎜🎜🎜🎜exit와 die라는 두 이름은 동일한 함수를 가리킵니다. 🎜🎜die()/exit()의 역할: 프로그램 실행을 종료하고 어디서나 사용할 수 있습니다. 🎜🎜🎜위 예제 3의 코드에 따라 goto 문을 die()로 바꾸고 출력을 살펴보세요🎜🎜🎜
<?php
header("Content-type:text/html;charset=utf-8");
for ($i = 1; $i <= 10; $i++) {
    if($i % 2 == 0) {
        return;
    }
    echo $i.&#39; <br>&#39;;
}
?>
로그인 후 복사
🎜출력: 🎜
1
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
🎜die()/exit() 함수는 하나의 매개 변수만 허용합니다. 구체적이어야 합니다. 값은 문자열일 수도 있고 매개 변수를 입력하지 않을 수도 있습니다. 매개변수가 문자열이면 PHP는 문자열을 직접 출력합니다. 매개변수가 정수(범위는 0-254)이면 해당 매개변수가 최종 상태로 사용됩니다. 🎜🎜🎜🎜방법 5: return 문 🎜🎜🎜🎜 return 문은 코드 조각을 끝내고 매개변수를 반환하는 데 사용됩니다. 🎜🎜🎜위 예제 3의 코드에 따라 die() 문을 return 문으로 바꾸고 출력을 살펴보세요🎜🎜rrreee🎜출력: 🎜
1
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

return语句可以在一个函数里调用,也可以从一个include()或者require()语句包含的文件里来调用,也可以是在主程序里调用。

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

推荐:PHP面试题大汇总(收藏)

위 내용은 PHP 루프 학습 5: 루프에서 벗어나는 방법은 무엇입니까? 5가지 방법에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿