제목 | 삼항연산자 $a = $a ?: null; 을 아시나요? | ||
---|---|---|---|
글쓴이 | 배강민 | 작성시각 | 2016/11/22 16:15:41 |
|
|||
5.3부터인가 지원한 것으로 아는데, 많이들 모르시는듯해서 남겨봅니다. 가독성 측면으로 상당히 호불호가 갈리긴하고, 또 사용시 헤깔리기도 하는데, 나름 용이합니다.
삼항연산자 사용에서 간단히 조건절 ? true일때의 값 : false일때의 값; 이런걸 많이 쓰죠?
이럴때 조건절과 true일때의 값이 동일하면(?) 그를 생략할 수 있는 겁니다.
컨트롤러나 상위에서 $a에 어떤 값을 정의해두고, 뷰단이던 등등에서 그 값이 있으면 표출하고, 아니면 안보이거나 하이픈(-)으로 보이게들 많죠. 요럴때 꽤 용이합니다.
javascript의 var a = a || '-'; 와 동일하다고 볼 수 있겠습니다.
<?php echo $a ? $a : '-'; ?> 이런거 많이 쓰시던 분들은 조금은 타이핑이 줄 수 있습니다. <?php echo $a ?: '-'; ?> 이렇게 쓸 수 있는 겁니다.
모르셨던 분들이 계시다면 쓰시던 안쓰시던 이런것도 되는구나 정도로만 아셔도 좋을듯요~ |
|||
다음글 | CI 3.1.1 이후 버전에서 파일 업로드 문제 시 p... (3) | ||
이전글 | CI3 IE Session 정상 작동 안될 때 Tip (2) | ||
kaido
/
2016/11/22 16:49:19 /
추천
0
|
꽈찌쭈
/
2016/11/22 16:52:09 /
추천
0
좋은 팁입니다 한가지 더 추가하고 싶은데 return 값이 boolean일 경우에는 삼항 자체가 필요가 없습니다.
$a = 3; return $a == 3; // $a == 3 조건에 따라 true or false 리턴 참고 : http://modernpug.github.io/php-the-right-way/pages/The-Basics.html#ternary-operators |
배강민
/
2016/11/22 16:57:03 /
추천
0
@꽈찌쭈 네, 저렇게도 가능하다는걸 모르시는 분들도 꽤 있는듯 하더라고요. 이도 호불호가 상당히 갈리는듯하시만요.ㅋ 재귀함수를 사용할때도 많이 쓰게되는 방식인듯~ |
kaido
/
2016/11/22 17:00:02 /
추천
0
맞아요. 삼항연산이 참 편하고 논리적인데, 호불호가 많이 갈립니다. 심지어 필요조차 없는데 꼭 삼항연산으로 코드를 짜는 사람도 있어요. 마치 나는 이런것도 할 줄 알아! 라고 과시 하는 사람이라고 할까요?
서장훈씨의 단골 멘트를 빌려서 말 하자면... "아이고~ 그게 뭔 의미가 있니!" |
<?php echo $a > 0 ? $a : '-'; ?>
이런것도 가능 합니다.