if(expr) statement
: expr은 논리(Boolean)값으로 취급되면 TRUE일 경우 statement를 수행한다.
if(expr) { statement1 } else { statement2 }
: expr은 논리(Boolean)값으로 취급되면 TRUE일 경우 statement1을 FALSE일 경우 statement2를
수행한다.
if(expr) { statement1 } elseif { statement2 } else { statement3 }
: if ~ else와 같지만 중간에 if가 하나 더 들어간 형태이다.
: PHP에서는 else 다음에 if가 나올 경우 elseif와 같은 형태로 붙여 써야 한다.
[php]
<?php
if ($a == 5) {
echo "a는 5와 같다";
echo "…";
} elseif ($a == 6) {
echo "a는 6과 같다";
echo "!!!";
} else {
echo "a는 5도 아니고 6도 아니다";
}
?>
[/php]
5.2. while문
while (expr) statement
: PHP에서 제일 간단한 루프형이다.
: expr이 계속 true이면 statement가 반복 수행된다.
[php]
<?php
$i = 1;
while ($i <= 10) {
echo $i++; /* 출력하는 값은 증가하기 전의 $i입니다.
(post-increment) */
}
?>
[/php]
5.3. do ~ while문
do { statement } while (expr)
: 시작부분이 아니라 각 반복(iteration)의 끝부분에서 표현식(expr)이 참인지 체크한다.
: 일반적인 while문과의 주요한 차이점은 do-while문의 첫 번째 반복이 반드시 수행 된다는
것이다.
[php]
<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?>
[/php]
5.4. for문
for (expr1; expr2; expr3) { statement }
: 첫번째 표현식(expr1)은 루프의 시작에서 바로 조건없이 수행된다.
: 각 반복(iteration)의 시작부분에서 expr2이 수행된다.
이 표현식이 TRUE이면 루프는 계속되고 statement가 수행된다. FALSE이면, 루프 수행을 멈춘다.
: expr3표현식은 각 반복의 끝부분에서 수행된다.
[php]
<?php
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
?>
[/php]
5.5. foreach문
foreach (array_expression as $value) { statement }
: array_expression에서 주어진 배열에 대해 루프를 돈다.
각 루프에서 현재 배열 원소의 값은 $value 로 지정되고 내부적인 배열 포인터는 하나씩 이동하게 된다
foreach (array_expression as $key => $value) { statement }
: 위의 루프와 같은 일을 한다. 단 현재 배열 원소의 key값은 각 루프의 $key변수로 지정된다.
: foreach문이 처음 실행할때, 내부적인 배열 포인터는 자동적으로 배열의 첫번째 원소로 리셋된다. 따라서 foreach절 이전에 reset()함수를 호출할 필요는 없다.
[php]
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr은 이제 array(2, 4, 6, 8)입니다.
unset($value); // 마지막 원소로 참조를 제거합니다.
?>
[/php]
5.6. switch문
switch문은 하나의 변수(또는 표현식)으로 다른 많은 값과 비교할 필요가 있을 경우 사용된다.
[php]
<?php
if ($i == 0) {
echo "i는 0";
} elseif ($i == 1) {
echo "i는 1";
} elseif ($i == 2) {
echo "i는 2";
}
//위의 if문 경우 아래 switch문 같이 할 수 있다.
switch ($i) {
case 0:
echo "i는 0";
break;
case 1:
echo "i는 1";
break;
case 2:
echo "i는 2";
break;
}
?>
[/php]
5.7. break문
break문은 루프를 강제로 탈출하기 위해서 사용된다.
: for, foreach, while, do-while 또는 switch절의 수행을 멈추고 벗어나게 한다.
[php]
<?php
$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;
}
}
?>
[/php]
5.8. continue문
continue문은 break문과 비슷하지만 루프를 완전히 벗어나는 것이 아닌 continue문의 밑에
부분을 생략 후 다시 루프문의 조건이 충족될 때 까지 반복 실행 한다.
[php]
<?php
for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
continue;
print "$i\n"; //결과는 0,1,3,4가 찍힌다.
}
?>
[/php]
5.9. return문
함수안에서 호출된다면, 현재 함수의 수행을 즉시 끝내고, 함수 호출 결과값으로 return의
인수값을 넘겨준다.
전역 유효범위에서 호출된다면, 현재 스크립트 파일의 수행을 끝마친다.
5.10. include문, require문
특정 파일을 인클루드 하고, 적용시킨다.
require()는 실패시에 치명적인 E_ERROR 등급 오류가 발생한다는 점을 제외하면, include()와
동일하며 include()는 경고만 발생하고 계속 진행되지만 require()는 에러 발생 후 중단된다.
5.11. include_once문, require_once문
PHP가 파일을 이미 포함하였는지 확인하여 다시 include(require)하지 않는 점을 제외하면
include와 동일하다.