php] if 축약형 ? :
if, else 조건문 줄여 쓰기(축약형) - ?: , 물음표
가끔 if문을 쓰다가 보면 아주 깔끔하게 한줄로 하고 싶을때가 있죠
이때 쓸만한 팁을 적어 둘까 합니다.
- 축약형을 사용하는 이유?
간단하다 연산 처리 속도를 좀더 빠르게 처리하기 위함이다.
몇줄의 기계 언어를 한줄로 표현 할 수 있도록 더 빠른 연산이 가능하다는.. 아주 보편적 가치 때문이다.
사실 보다 기계가 빨리 이해 할 수 있도록 하는데 목적이 있다고 한다.
교과서 적인 if 문의 사용예 입니다.
$a의 값이 1이 맞는지 틀리는지를 비교해서 $msg 를 선택하도록 하는 if 문 이다.
if($a == "1") {
$msg = "YES.";
} else {
$msg = "NO!.";
}
하지만 뭔가 그럴 듯(?) 하게 하고 싶다면 축약형으로 쓰면 된다.
다음의 예를 보고 참고 하자.
1. 다음과 같이 줄여 쓸 수 있다.
$a == "1" ? $msg = "YES." : $msg = "NO.";
변수 조건부 할당도 가능 하다.
$msg = ($a ? $a : $b);
2. 그렇다면 HTML 중간에 echo 형으로 바로 표기 한다면.. 다음과 같이 활용도 된다.
<? if($a)?echo "OK":echo "NO." ?>
또 다른 예이다.
<?=$a?"OK":"NO"?>
이러고 나니 다른 예를 찾게 된다.
그래서 준비 했다.
3. $msg = ($a ? $a : $b); 구문은 아래 처럼 더 축약 될 수 있다.
$var = ($a ? : $b);
4. 또는 and, or 로 구문을 묶을 수 있다.
if ( ! $a ) $a = 'OK';
위 구문은 아래처럼 더 축약될 수 있다.
$a or $a = 'OK';
또는
$a || $$a = 'OK';
응용하여 조건 판단 후 실행 같은 아래와 같은 사용이 가능하다.
if ($a) run();
위의 조건별 실행 구문은 아래처럼 축약될 수 있다.
$a && run();
아래와 같은 코드를 해보면 작동 방식을 이해 할수 있다.
<?
funtion run(){
echo "Hello World";
}
$a = true;
$a || $a = 'hello';
echo $a; // 1을 출력 만약 $a가 false 라면 hello 가 출력된다.
$a && $a = 'world';
echo $a; // world
$a && run(); // Hello World
?>
1
world
Hello World
축약형을 쓰는 경우가 상당히 많다.
기본적인 if문만 안다면 ? :패턴이 뭔지 몰라서 소스를 분석할때
힘들 수 도 있으니 알아두자! 그리고 의외로 쓸대가 많음.
'IT이야기 > php' 카테고리의 다른 글
php 사용자 정의 함수 (0) | 2020.02.28 |
---|---|
php 함수! (0) | 2020.02.27 |
php 언어셋 변환! euc-kr, utf-8 (0) | 2020.01.26 |
외부 url로 파라미터(값)넘기기! Curl! (0) | 2020.01.24 |
php 다차원배열! (0) | 2020.01.13 |