조건문이란 특정 조건식이 참일 때 특정 코드를 실행해주는 문법을 말한다. 분기를 나눠준다고 생각하면 된다.
php의 조건문은 다른 언어들과 비슷하게 if문과 switch문이 있다.
if 문
php의 if문은 if, else if, else로 이뤄진다. 구조는 아래와 같다.
if(<조건>)
{
<위 조건이 참이라면 실행>
}
else if(<조건>)
{
<if문의 조건이 참이 아니고 위 조건(else if)이 참이라면 실행>
}
else
{
<if, else if의 조건에 모두 해당이 안된다면 실행>
}
예시로 if, else if, else를 하나씩만 사용했는데 else if의 경우 여러 번 사용이 가능하다. else if, else는 단독으로 사용할 수 없고 무조건 위에 if문이 존재해야지만 사용이 가능하다.
필요하다면 조건에 &&(and), ||(or) 연산자를 사용할 수 있다.
아래는 조건문과 $_GET을 이용한 간단한 예시다.
GET방식으로 받아오는 val의 값이 무엇이냐에 따라 출력되는 문구가 달라지게 된다.
<?php
$a = $_GET['val'];
if($a == 1)
{
echo "a = 1!<br>";
}
else if($a == 2)
{
echo "a = 2!<br>";
}
else if($a == 3)
{
echo "a = 3!<br>";
}
else
{
echo "a = ???<br>";
}
?>
이처럼 a가 1, 2, 3일 때는 if, else if문의 코드가 실행되어 a = ?! 형식으로 출력되지만 4, 5를 줬을 때는 if, else if의 조건을 참으로 만들 수 없기 때문에 else의 코드가 실행되어 a = ???으로 출력된 것을 볼 수 있다.
swtich 문
switch 문도 다른 언어와 형식은 똑같다.
swtich(<대상>)
{
case <값>:
<실행할 코드>
break;
case <값>:
<실행할 코드>
break;
default:
<실행할 코드>
break;
}
switch의 괄호 안에 조건의 대상이 될 변수 혹은 값을 넣어주고 { }안의 case 안에 조건 값을 넣어주면 된다. (대상 변수 혹은 값이 case의 값과 일치하다면 해당 case의 코드를 실행한다.) default는 else와 같은 것으로 위의 case들에 모두 해당이 되지 않을 시 실행해준다.
아래는 if문의 예시 코드를 switch 문으로 바꿔본 것이다. GET으로 받아오는 a의 값에 따라 출력되는 문구가 달라지게 된다.
<?php
$a = $_GET['val'];
switch($a)
{
case 1:
echo "a = 1!<br>";
break;
case 2:
echo "a = 2!<br>";
break;
case 3:
echo "a = 3!<br>";
break;
default:
echo "a = ???<br>";
break;
}
?>
실행결과는 if문과 똑같다.
단일 변수에 대한 조건은 이 switch 문이 더 좋지만, 여러 조건을 설정할 때는 if문을 사용하는 게 좋다.
상황에 따라 적절히 사용하면 좀더 간결하고 가독성 있게 코드를 작성할 수 있을 것 같다.
'Old (2021.01 ~ 2021.12) > Programming' 카테고리의 다른 글
[PHP] 보안 - xss 공격 방지(htmlspecialchars) (2) | 2021.09.22 |
---|---|
[PHP] 배열, 연관배열(딕셔너리) (0) | 2021.09.21 |
[PHP] get 방식 처리 in php (0) | 2021.09.21 |
[PHP] php의 기본적인 문법 (0) | 2021.09.21 |
c언어 코딩도장 Unit 58 ~ Unit 59 (0) | 2021.04.11 |