메뉴 건너뛰기

프로그램언어

2015.04.14 19:20

PHP 삼항연산자 ?

조회 수 22947 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

if 와 else 문의 장황함을 피하는 방법 중 하나는 더욱 간결한 삼항 연산자(conditional operator)인 ? 를 사용하는 것이다.



예제를 통해 살펴보자.

$message = 'Hello '.($user->is_logged_in() ? $user->get('first_name') : 'Guest');

/* shorthand usage */
$message = 'Hello '.($user->get('first_name') ?: 'Guest');


/* "thankfully-you-don't-need-to-maintain-this" level */
 $days = ($month == 2 ? ($year % 4 ? 28 : ($year % 100 ? 29 : ($year %400 ? 28 : 29))) : (($month - 1) % 7 % 2 ? 30 : 31)); //returns days in the given month


/* If condition is true then assign a to result otheriwse b */
/* 조건이 참이면 a를 할당하고, 거짓이면 b를 할당
$result = ($a < $b ) ? $a :$b;


function xx($a,$b)
{
  $rs = ($a > $b) ? $a : $b ;
  return $rs;
}


<?php

$j = 11;

while($j-- > -10) {

if($j == 0 ) continue;  // 0 으로 나누는 것을 방지하기 위한 목적

echo "$j". (10/$j) . "<br />";

}

?>


List of Articles
번호 제목 날짜 조회 수
240 addslashes — 문자열을 슬래시로 인용 2016.12.23 23083
239 stripslashes — 따옴표 처리한 문자열을 풉니다 2016.12.23 20486
238 stripcslashes — addcslashes()로 인용한 문자열을 되돌림 2016.12.23 20442
237 implode — 문자열로 배열 원소를 결합 2016.12.23 19951
236 mysql_insert_id 2016.12.23 18750
235 mysql_result — 결과 데이터를 반환 2016.12.23 18958
234 parse_ini_file — Parse a configuration file 2016.12.23 19751
233 mysql_affected_rows — 최근 MySQL 작업으로 변경된 행 개수를 얻음 2016.12.23 18806
232 is_array — 변수가 배열인지 확인 2016.12.23 18048
231 ini_get - php.ini에 지정되어 있는 지시어의 값을 읽어온다 2016.12.23 19520
230 class_exists 클래스가 정의되었는지 확인 2016.12.23 19881
229 mysql_real_escape_string 이진 데이터를 입력할 경우 이 함수를 사용해야 함 2016.12.23 18635
228 call_user_func 사용자가 정의한 함수를 호출하여 실행고자 할 때 사용 2016.12.23 21302
227 array_key_exists 배열에서 key가 존재하는지 확인 2016.12.23 22206
226 quotemeta 모든 메타 문자앞에 역슬래쉬를 붙인 문자열을 반환 2016.12.23 20461
225 array_push 배열 끝에 하나 이상의 요소를 추가 2016.12.23 21604
224 glob 현재 디렉토리에서 pattern에 일치하는 경로 이름을 배열로 반환 2016.12.23 19636
223 gd_info 사용 가능한 GD 라이브러리에 대한 정보를 배열로 반환 2016.12.23 17989
222 headers_sent 헤더 전송 여부를 확인 2016.12.23 19405
221 fileatime 파일에 최종적으로 접근한 시간을 반환 2016.12.23 18117
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved