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

PHP의 삼항 연산자에 대한 자세한 소개

怪我咯
怪我咯원래의
2017-06-20 14:03:551761검색

여기에서 PHP3차 산술 표기법을 배우려는 모든 분들을 환영합니다! 아래는 여러분을 위해 준비한 흥미로운 콘텐츠입니다. 여기서 다들 배워보셨으면 좋겠습니다! 삼항 연산자 구문: 조건? 결과 1: 결과 2 설명: 물음표 앞의 위치는 조건이 충족되면 결과가 1이 됩니다. 충족되지 않으면 결과는 2입니다. 이에 대해서는 아래에서 자세히 논의해 보겠습니다.

$if_summary = $row['IF_SUMMARY']==2?'是':'否';

나중에 Baidu는 이것이 PHP의 삼항 연산자라는 것을 알아냈습니다

이 문장은

if($row['IF_SUMMARY']==2){
$if_summary="是";
}else{
$if_summary="否";
}

와 같은 의미입니다. 삼항 연산자의 기능은 다음과 같이 작성된 "if...else" 프로세스 문과 일치합니다. 한 줄에 코드가 매우 간결하고 실행 효율성이 더 높습니다.

PHP 프로그램에서 삼항 연산자를 적절하게 사용하면 스크립트를 더욱 간결하고 효율적으로 만들 수 있습니다.

코드 형식은 다음과 같습니다.

(expr1) ? (expr2) : (expr3);

설명: "expr1" 조건이 true이면 "expr2" 문을 실행하고, 그렇지 않으면 "expr3"을 실행합니다.

동일한 기능을 구현하려면 조건부 흐름문을 사용하는 경우 여러 줄의 코드를 작성해야 합니다.

if(expr1) {
expr2;
} else {
expr3;
}

위에서 언급한 삼항 연산자의 장점은 결코 과장이 아니라고 볼 수 있습니다. 그러나 대부분의 경우 삼항 연산자는 코드가 비교적 간단한 경우, 즉 실행문이 단 한 문장인 경우에만 사용됩니다. 예:

1$a>$b ? print "a is less than 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 문보다 여전히 더 간결합니다. 다음 문의 구문은 정확합니다. 작은 따옴표를 사용하여 두 번째 또는 세 번째 "요소"를 생략합니다.

2$a>$b ? print "Yes" : "";
$a>$b ? &#39;&#39;: print &#39;No&#39;;

주의해야 할 점: 삼항 연산자를 사용할 때는 echo 대신 print 문을 사용하는 것이 좋습니다. 성명.

다음 일련의 명령문을 이해하는 데 주의하세요:

$str = $_GET[&#39;abc&#39;] ? &#39;wangjinbo&#39; : &#39;wjb&#39;;

이것은 $str이 $_GET['abc']와 같을 때 할당은 'wangjinbo'이고, 그렇지 않으면 할당은 'wjb'로 이해될 수 없습니다. '; 왜냐하면 1: 같음을 판단하려면 ==;을 사용해야 합니다. 이유 2: 삼항 연산자의 구문은 위와 같습니다: (expr1) ? (expr2) : (expr3). ' 또는 'wjb'는 그 자체로는 의미 있는 표현식을 구성할 수 없습니다. expression;

에 대한 올바른 이해는 $_GET['abc']가 비어 있는 경우(즉, '', null, 0, undifine 여부)입니다. PHP에서는 모두 부울 값 false와 동일합니다. $str을 설정합니다. 값은 'wangjinbo'이고, 그렇지 않으면 값은 'wjb'입니다.

위 내용은 PHP의 삼항 연산자에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.