본문 바로가기

PHP

PHP 제어문

제어문 

 

순차적인 흐름을 제어해야 할 때 사용하는 명령문

 

조건문, 반복문이 포함

 

조건문

 

프로그램 내에서 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 명령문

 

가장 기본 - if문

 

if 문

<문법>

 

if (조건식) {

    조건식의 결과가 참일 때 실행하고자 하는 명령문

}

 

$num_01 = 10;
$num_02 = 20;
if($num_01 == $num_02){
	echo "{$num_01}과{$num_02}은 같은 수입니다.";
}
if($num_01 < $num_02) {
	echo"{$num_01은 {$num_02} 보다 작은 수 입니다.";
}
if($num_01 > $num_02) //실행될 명령문이 한 줄뿐이라면 중괄호를 생략할 수 있음
	echo"{$num_01}은 {$num_02}보다 큰 수 입니다.";

 

 

 

else문

 

$num_01 = 20;
$num_02 = 20;
if($num_01 == $num_02){
	echo "{$num_01}과 {$num_02}은 같은 수입니다.";
}
else{
	if($num_01 < $num_02)
           echo"{$num_01}은 {$num_02}보다 작은 수입니다.";
	else
           echo "{$num_01}은 {$num_02}보다 큰 수입니다.";
}

 

 

 

elseif문

 

elseif문은 if문 처럼 조건식을 설정할 수 있음, 중첩된 if문을 좀 더 간결하게 표현

 

$num_01 = 30;
$num_02 = 20;
if($num_01 == $num_02){
	echo"{$num_01}과 {$num_02}는 같은 수입니다.";
}
elseif(num_01 < $num_02){
	echo"{$num_01}은 {$num_02}보다 작은 수 입니다.";
}
else{
	echo"{$num_01}은 {$num_02}보다 큰 수 입니다.";
}

 

>>>결과

 

echo "{$num_01}은 {$num_02}보다 큰 수입니다.";

 

 

switch문

 

$var = "오렌지";
switch($var){
	case"귤":
    	echo"여기 있는 과일은 귤입니다.";
        break;
    case"사과";
    	echo"여기 있는 과일은 사과입니다.";
        break;
    case"바나나";
    	echo"여기 있는 과일은 바나나입니다.";
        break;
    default:
    	echo"여기 있는 과일은 처음 보는 과일입니다.";
        break;
        
}

>>>결과

여기 있는 과일은 처음 보는 과일입니다.

 

반복문

 

프로그램 내에서 같은 명령을 일정 횟수만큼 반복하여 수행하는 명령문

 

1. While문

2. do / While문

3. for문

4. foreach문

 

$i = 0;
while($i < 5){
	echo($i++)."<br>";
}

 

 

 

 

do / while 문 

 

표현식의 결과와 상관없이 무조건 한 번은 루프를 실행

 

 

 

 

$i = 0;
$j = 0;
while($i > 5){
	echo"변수 i의 값은 ".(++$i)."입니다.<br>";
    
}
do{
	echo"변수 j의 값은".(++$j)입니다.<br>";
} while($j > 5);

 

 

 

for 문

초기식, 표현식, 증감식을 모두 포함

 

 

 

for($i = 0; $i < 5; $i++){
	echo"{$i}<br>";
}

 

 

>>>결과 

 

0
1
2
3
4

 

 

 

foreach문

foreach 문은 배열의 모든 요소를 손쉽게 순회할 수 있도록 해줌

 

foreach 문은 정확히 배열의 길이(length)만큼 반복

 

foreach (배열 as 값을저장할변수) {
    실행하고자 하는 명령문;
}

 

$arr = array(2,4,6,8);
foreach ($arr as $value) {
	echo"변수 \$value의 현재값{$value}입니다.<br>";
}

unset($value);


변수 $value는 foreach 문 내에서만 사용하는 변수입니다.
따라서 foreach 문이 끝난 뒤에는 unset() 함수를 사용하여 해제해 주는 것이 좋음

 

 

루프의 제어 

 

일반적으로 조건식 검사를 통해 루프로 진입하려면

 

사용자는 continue 문과 break문을 통해 제어할 수 있음

 

 

continue 문                       

 

continue문은 루프 내에서 사용, 해당 루프의 나머지 부분을 건너뛰고, 바로 다음 조건식의 판단으로 넘어가게 함

 

보통 반복문 내에서 특정 조건에 대한 처리를 제외하고자 할 때 자주 사용

 

 

 

1부터 100까지 정수 중에서 4의 배수를 제외하고 출력

 

$exceptNum = 4;
for ($i=0; $i<=100;; $i++){
	if($i % $exceptNum == 0)
    	continue;
    echo "{$i}";
}

 

>>>결과 

 

1 2 3 5 6 7 9 10 11 13 14 15 17 18 19 21 22 23 25 26 27 29 30 31 33 34 35 37 38 39 41 42 43 45 46 47 49 50 51 53 54 55 57 58 59 61 62 63 65 66 67 69 70 71 73 74 75 77 78 79 81 82 83 85 86 87 89 90 91 93 94 95 97 98 99

 

 

break문

 

해당 반복문을 완전히 종료시키고, 반복문 다음에 위치한 명령문으로 이동

 

조건식의 판단 결과에 상관없이, 반복문을 완전히 빠져나가고 싶을 때 사용

 

$sum = 0;
$startNum = 1;
$endNum = 100;
$i = $startNum;
while(true){
    $sum += $i
    if($i == $endNum)
    	break;
    $i++;
}

echo "{$startNum}에서부터 {$endNum}까지 더한 값은 {$sum}입니다.";

 

>>>결과

 

1에서부터 100까지 더한 값은 5050입니다.

 

 

 

goto문

 

goto문은 프로그램의 흐름을 지정된 레이블로 무조건 변경하는 명령문

 

손쉽게 사용할 수 있지만, 프로그램의 흐름을 매우 복잡하게 만들기도 하므로 거의 사용하지 않음

 

 

'PHP' 카테고리의 다른 글

PHP 함수  (0) 2023.06.09
PHP 배열  (0) 2023.06.08
PHP 연산자  (0) 2023.06.08
PHP 기초  (0) 2023.06.08
PHP 시작  (0) 2023.06.07