본문 바로가기
소프트웨어 개발/PHP

[PHP 기초강좌] 조건문 - if/else, 삼항 연산자

by 인생은즐겁게 2023. 2. 15.
반응형

 

조건문

 

 코드를 작성하게 되면 어느 특정 조건일 경우에 실행을 해야 할 경우가 비일비재합니다. 프로그래밍 언어에서는 이를 조건문이라고 합니다. 조건문은 참(true)의 영역과 거짓(false)의 영역이 있습니다. 참의 영역의 구문을 실행하려면 boolean 데이터 유형의 true를 만족해야 하며 거짓의 영역의 구문을 실행하려면 false를 만족해야 합니다. PHP에서 이를 만족하는 구문이 if/else문과 삼항 연산자입니다.  이번 강좌에는 먼저 if/else문과 삼항 연산자에 대해서 알아보도록 하겠습니다.

 

 

if/else

 if 문은 특정 조건이 충족되면(true 이면) if의 중괄호( { ... } ) 영역에 작성된 코드들이 실행됩니다. false일 경우 무언가 코드를 실행하고 싶을 때 else 문을 작성하면 됩니다. if 문 작성 시 else 문은 생략 가능합니다.

 

[if/else 사용예]

<?php

//사용 예1)
if( 조건 ){ 
	//if의 조건이 true이면 실행 
}else{
  //if의 조건이 false이면 실행
}

//사용 예2)
if(조건){
	//if의 조건이 true이면 실행 
}

//else문 생략 가능

 다음 예제는 60점 미만이면 불합격 그렇지 않으면 합격 처리하는 예제입니다. 

<?php

$score = 95;
//$score = 59;
$prize_money = 0 ;

if ( $score < 60 )
{
    echo "불학격";
}
else
{
    $prize_money = 1000;
    echo "합격 축하합니다~";
}

if( $prize_money > 0) //합격 시 1000억원 받음 불합격은 땡전 한푼도 없음
{
    echo "합격 상금 ".$prize_money."억원";
}
?>

 

<그림 1> if/else 예제 결과

 

elseif

 elseif 문은 if 문의 조건이 만족을 못 했을 경우 사용되는 구문입니다. elseif 문 다음으로 elseif 문을 또 사용할 수 있으며 상황에 따라서 else 문도 생략 가능합니다.

 

[elseif 사용예]

<?php


if( 조건 ){ 
	//if의 조건이 true이면 실행 
}elseif(조건){
  //elseif 조건이 true이면 실행 단 if조건문이 true이면 실행 안됨
}elseif(조건){
  //elseif 조건이 true이면 실행 단 if조건문이 true이면 실행 안됨 그리고 앞에 선언된 elseif의 조건이
  true이면 실행 안됨
}
else{
  //if의 조건이 false이면 실행
}

다음 예제는 60점 미만이면 불합격 처리하고, 70점 이상 80점 미만이면 예비합격 그리고 80점이면 합격 처리하는 예제 입니다.

<?php

//$score = 80;
$score = 73;
$prize_money = 0 ;

if ( $score < 60 )
{
    echo "불학격";
}
elseif( $score >= 70 && $score < 80){
    echo "예비합격 하셨습니다. 정원 미달 시 충원";
}
else
{
    $prize_money = 1000;
    echo "합격 축하합니다~";
}

if( $prize_money > 0)
{
    echo "합격 상금 ".$prize_money."억원";
}
?>

<그림 2> elseif 예제 결과

 

삼항 연산자

 

삼항 연산자는 if/else 구문처럼 조건이 들어가지만  다른 점은 값(value)을 조건에 따라 처리하므로 변수에 직접적으로 저장한다는 것이 차이점입니다. 다음 예제를 보시면 직접적으로 조건에 따라 변수에 값을 저장하는 구문을 확인할 수 있습니다.

 

[삼항 연산자 사용예]

<?php

(조건)? 조건이 true이면 실행 : 조건이 false이면 실행;

?>

 

<?php

$age = 20;
echo ( $age < 20 ) ? '미성년자' : '성인' ."<br/>"; // 위와 같지만 삼항 연산자를 사용하는 문장

$result  = ( $age < 20 ) ? '미성년자' : '성인' ; //변수에 저장하여 사용 가능

echo $result."<br/>";

echo ( ( $age < 20 )?  10 : 20 ) + 100; //반환되는 값을 사용하여 연산도 가능


?>

<그림 3> 삼항 연산자 예제 결과

반응형

댓글