CakeFest 2017 NYC, the Official CakePHP Conference

break

break는 현재 for, foreach, while, do-while 또는 switch절의 수행을 멈춘다.

break는 숫자 인수 옵션을 허용함으로써 내포된 구문구조의 깊이를 표시하고 거기서 빠져나올수 있게 해준다.

<?php
$arr 
= array('one''two''three''four''stop''five');
while (list (, 
$val) = each ($arr)) {
    if (
$val == 'stop') {
        break;    
/* 여기서는 'break 1;'으로 슬 수 있습니다. */
    
}
    echo 
"$val<br />\n";
}

/* 옵션 인수 사용하기. */

$i 0;
while (++
$i) {
    switch (
$i) {
    case 
5:
        echo 
"At 5<br />\n";
        break 
1;  /* switch만 빠져나갑니다. */
    
case 10:
        echo 
"At 10; quitting<br />\n";
        break 
2;  /* switch와 while을 빠져나갑니다. */
    
default:
        break;
    }
}
?>

add a note add a note

User Contributed Notes 4 notes

up
110
steve at electricpocket dot com
4 years ago
A break statement that is in the outer part of a program (e.g. not in a control loop) will end the script. This caught me out when I mistakenly had a break in an if statement

i.e.

<?php
echo "hello";
if (
true) break;
echo
" world";
?>

will only show "hello"
up
13
traxer at gmx dot net
11 years ago
vlad at vlad dot neosurge dot net wrote on 04-Jan-2003 04:21

> Just an insignificant side not: Like in C/C++, it's not
> necessary to break out of the default part of a switch
> statement in PHP.

It's not necessary to break out of any case of a switch  statement in PHP, but if you want only one case to be executed, you have do break out of it (even out of the default case).

Consider this:

<?php
$a
= 'Apple';
switch (
$a) {
    default:
        echo
'$a is not an orange<br>';
    case
'Orange':
        echo
'$a is an orange';
}
?>

This prints (in PHP 5.0.4 on MS-Windows):
$a is not an orange
$a is an orange

Note that the PHP documentation does not state the default part must be the last case statement.
up
4
RK
6 years ago
If the numerical argument is higher than the number of things which can be broken out of, it seems to me like the execution of the entire program is stopped.
My program had 8 nested loops. Didn't bother counting them, but wrote: break 10. - Result: Code following the loops was not processed.
up
0
Anonymous
10 years ago
If you wonder how to end execution of a function (as I did), it's that simple: return

function foo($a) {
if(!$a) return;
echo 'true';
// some other code
}

foo(true) will echo 'true', foo(false) won't echo anything (as return ends execution of the function. Of course, therefore there is no need for 'else' before 'echo').
To Top