> 백엔드 개발 > PHP 튜토리얼 > PHP 삼항 연산자에 대한 자세한 설명

PHP 삼항 연산자에 대한 자세한 설명

WBOY
풀어 주다: 2016-08-08 09:23:25
원래의
862명이 탐색했습니다.

오늘 온라인으로 논문을 수정하던 중 이해할 수 없는 문장을 발견했습니다.
$if_summary = $row['IF_SUMMARY']==2?'Yes':'No';
나중에 Baidu에서 알게 되었습니다.

if($row['IF_SUMMARY']==2){
$if_summary="Yes";}else {
$if_summary="No";
}
삼항 연산자의 기능은 "if...else" 프로세스 문과 일치하며, 한 줄로 작성됩니다. 코드가 매우 간결하고 실행 효율성이 더 높습니다.
PHP 프로그램에서 삼항 연산자를 적절하게 사용하면 스크립트를 더욱 간결하고 효율적으로 만들 수 있습니다.
코드 형식은 다음과 같습니다: (expr1) ? (expr2) : (expr3);
설명: "expr1" 조건이 true이면 "expr2" 문을 실행하고, 그렇지 않으면 "expr3"을 실행합니다.
동일한 기능을 달성하려면 조건부 흐름 문을 사용하는 경우 여러 줄의 코드를 작성해야 합니다.
if(expr1) {
expr2;
} else {
expr3;
}
위에서 언급한 삼항 연산자의 장점은 결코 과장이 아니라고 볼 수 있습니다. 그러나 대부분의 경우 삼항 연산자는 코드가 비교적 간단한 경우, 즉 실행 문이 단일 문인 경우에만 사용됩니다. 예:
$a>$b ? print "a가 b보다 큼" : print "a가 b보다 작습니다";
실제로 설정된 조건이 다음과 같은 경우 삼항 연산자를 확장하여 사용할 수 있습니다. true인지 아닌지에 따라 실행 문은 다음과 같습니다. 두 개 이상의 문장이 될 수 있습니다. 다음 형식을 시도해 보세요.
(expr1) ? (expr2).(expr3) : (expr4).(expr5);
분명히 할 수 있습니다. 여러 실행 문에서 문자열을 사용할 수 있음을 확인하세요. 연산 기호(".")가 연결되어 있으며, 각 실행 문은 작은 꺾쇠 괄호로 둘러싸여 있어 독립적이고 완전한 실행 문임을 나타냅니다. 이 확장 이후 해당 기능은 "if...else" 프로세스 문에 더 가깝습니다.
동시에 삼항 연산자를 중첩하여 사용할 수도 있습니다. 예를 들어, a가 b보다 큰 경우: a가 c보다 작으면 x=c-a이고, 그렇지 않으면 x=a-c입니다. 그렇지 않으면 a가 b보다 작으면: b가 c보다 작으면 x=c-b이고, 그렇지 않으면 x=b-c입니다.
$a>$ b ? $x=($a<$c ? $c-$a : $a-$c) : $x=($b<$c ? $c-$b : $b -$c);
중첩된 삼항 연산자의 가독성이 그다지 좋지 않으며, 향후 코드 유지에 문제가 있을 수 있습니다. 그러나 "if...else"와 같은 프로세스 문과 비교하면 다음과 같습니다. 위의 상황은 정말 간결합니다. 그게 장점이죠.
게으르고 코드 단순성을 추구하는 사람들에게는 삼항 연산자를 사용하여 if 프로세스 문을 대체하는 것이 탁월한 선택이 될 것입니다. "삼항"에서 조건문 이외의 "요소"를 고려할 필요가 없더라도 삼항 연산자를 사용하는 것이 if 문보다 여전히 더 간결합니다. 다음 명령문은 구문상 정확하며 작은 따옴표로 묶인 두 번째 또는 세 번째 "요소"를 생략합니다.
$a>$b ? print "Yes" : "";
$a>$ b '': print '아니요';
삼항 연산자를 사용할 때는 echo 문 대신 print 문을 사용하는 것이 좋습니다.
다음 일련의 명령문을 이해하는 데 주의하세요.
$str = $_GET['abc'] ? 'wangjinbo' : 'wjb';
$str이 같을 때 다음과 같이 이해될 수 없습니다. $_GET['abc '] , 할당은 'wangjinbo'입니다. 그렇지 않으면 할당은 'wjb'입니다. 이유 1: ==를 사용하여 동등성을 판단해야 합니다. 이유 2: 삼항 연산자의 구문은 위에 표시된 것과 같습니다. ) ? (expr2) : (expr3 ), 분명히 위의 이항 및 삼항 'wangjinbo' 또는 'wjb'는 단독으로 의미 있는 표현을 구성할 수 없습니다.
올바른 이해는 다음과 같습니다. $_GET['abc']가 비어 있는 경우 is, 여부, PHP '', null, 0, undifine, 모두 부울 값 false와 동일), $str을 'wangjinbo'에 할당하고, 그렇지 않으면 'wjb'에 할당합니다.

원본 링크: bbs.php100 .com/read-htm-tid-24239.html

위에서는 PHP 삼항 연산자에 대한 자세한 설명을 그 내용을 포함하여 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿