반응형
$arr = array('one', 'two', 'three', 'four', 'stop', 'five');
foreach ($arr as $val) {
if ($val == 'stop') {
break; /* You could also write 'break 1;' here. */
}
echo "$val<br />\n";
}
break = 루프 탈출
- for, foreach, while 등 여러 번 반복되는 루프의 경우에 해당됨
- 루프 이후에 등장하는 코드를 계속 실행함
- if문은 반복문이 아니라 조건 충족시 1번만 실행되는 코드이므로 해당없음
return = 함수 탈출 또는 인클루드 탈출
- 함수 안에서 쓰면 함수 실행을 종료하고, 그 함수를 호출했던 지점으로 돌아가서 계속 실행함
- 함수 밖에서 쓰면 현재 파일을 인클루드했던 파일로 돌아가서 계속 실행함
- 함수 밖인데 인클루드한 것도 없으면 그냥 종료됨, 즉 exit과 동일한 효과가 됨
exit, die = 무조건 종료
- 말 그대로 프로그램이 죽어버림
출처: https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=415205
예제
for($i = 1;;$i++){
if($i > 10){
break; // 루프를 빠져나감
}
echo $i;
}
break
(PHP 4, PHP 5, PHP 7)
break ends execution of the current for, foreach, while, do-while or switch structure.
예제 2
$arr = array('one', 'two', 'three', 'four', 'stop', 'five');
foreach ($arr as $val) {
if ($val == 'stop') {
break; /* You could also write 'break 1;' here. */
}
echo "$val<br />\n";
}
Changelog for break
VERSION | DESCRIPTION |
7.0.0 | break outside of a loop or switch control structure is now detected at compile-time instead of run-time as before, and triggers an E_COMPILE_ERROR. |
5.4.0 | break 0; is no longer valid. In previous versions it was interpreted the same as break 1;. |
5.4.0 | Removed the ability to pass in variables (e.g., $num = 2; break $num;) as the numerical argument. |
예제 3
foreach($equipxml as $equip) {
$current_device = $equip->xpath("name");
if ( $current_device[0] == $device ) {
// found a match in the file
$nodeid = $equip->id;
// will leave the foreach loop and also the if statement
break;
}
this_command_is_not_executed_after_a_match_is_found();
}
예제 4
foreach (array('1','2','3') as $a) {
echo "$a ";
foreach (array('3','2','1') as $b) {
echo "$b ";
if ($a == $b) {
break 2; // this will break both foreach loops
}
}
echo ". "; // never reached
}
echo "!";
Resulting output:
1 3 2 1 !
참고: https://stackoverflow.com/questions/9215588/break-out-of-if-and-foreach
반응형
'WEB언어 > PHP' 카테고리의 다른 글
[php] Date Format 일자/날짜 포멧 변경하기 총정리 strtotime() , DateTime::createFromFormat() (0) | 2019.10.31 |
---|---|
[PHP] 소수점 이하 2 자리까지 표시하기 (예: $ 1.10 ) (0) | 2019.10.23 |
PhpStome UI 다크모드 사용하기 (JetBrain제품들 다 지원- Darcula) (0) | 2019.10.10 |
IIS + PHP에서 알수 없는 500번 오류 (0) | 2019.10.05 |
[PHP] 하나 은행 환율 API를 통한 JSON (14) | 2018.12.06 |
PHP7에서 mysql_connect 를 mysqli_connect 로 사용 (0) | 2018.12.05 |
PHP 현재 자신의 파일명 가져오기 basename($_SERVER['PHP_SELF']); (0) | 2018.05.15 |
php 이미지 자르기(crop) 만들기 (0) | 2018.05.09 |
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)
(로그인하지 않으셔도 가능)