>백엔드 개발 >PHP 튜토리얼 >PHP 삼항 연산자

PHP 삼항 연산자

墨辰丷
墨辰丷원래의
2018-06-09 09:59:3684298검색

이 글은 주로 PHP의 삼항 연산자를 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.

추천 매뉴얼: php 자습 매뉴얼

3항 연산자 구문: 조건 1: 결과 2 참고: 물음표 앞의 위치는 판정 조건입니다. 조건을 만족하면 1, 만족하지 않으면 2가 됩니다.

아래에서 자세히 논의해 보겠습니다.

오늘 온라인에서 논문을 수정하던 중 이해할 수 없는 문장을 만났습니다:

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

이 문장은

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

을 의미합니다. 삼항 연산자의 기능은 "if...else" 프로세스 문과 일치합니다. . 한 줄로 작성된 코드는 매우 간결하며 더 효율적으로 실행됩니다.

추천 관련 기사:
1.PHP 삼항 연산자: 빠를까 말까?
2.PHP의 삼항 연산자와 Null 병합 연산자의 간단한 비교
3.php의 일반적인 연산자는 무엇입니까 ​ ​​
관련 영상 추천:
1.Dugu Jiujian (4)_PHP 영상 튜토리얼

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

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

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

설명:

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

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

if(expr1) {

expr2;
} else {
expr3;
}

위에서 언급한 삼항 연산자의 장점은 결코 과장이 아니라고 볼 수 있습니다.

그러나 대부분의 경우 삼항 연산자는 코드가 비교적 간단한 경우, 즉 실행문이 단 한 문장인 경우에만 사용합니다. 예:

$a>$b ? print "a大于b" : print "a小于b";

실제로 삼항 연산자를 확장하여 사용할 수 있습니다. 설정된 조건이 true인지 아닌지에 따라 실행 문은 다음 형식을 사용할 수 있습니다.

(expr1) ? ).(expr3) : ( expr4).(expr5);

문자열 연산자(".")를 사용하여 여러 실행 문을 연결할 수 있으며 각 실행 문은 작은 꺾쇠 괄호로 묶여 있음을 나타냅니다. 독립적인 완전한 실행문입니다.

이 확장 이후 해당 기능은 "if...else" 프로세스 문에 더 가까워졌습니다.

동시에 삼항 연산자를 중첩하여 사용할 수도 있습니다.

예를 들어, a가 b보다 큰 경우:

a가 c보다 작으면 x=c-a, 그렇지 않으면 x=a-c입니다.

그렇지 않고 a가 b보다 작으면 true입니다. b가 c보다 작습니다. , then x=c-b else 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 ? &#39;&#39;: print &#39;No&#39;;

다음 사항에 유의해야 합니다.

삼항 연산자를 사용할 때는 인쇄체를 사용하는 것이 좋습니다. 문 echo 문을 대체합니다.

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

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

이것은 $str이 $_GET['abc']와 같을 때 할당은 'wangjinbo'이고, 그렇지 않으면 할당은 'wjb'로 이해될 수 없습니다. ';

하나: 평등 판단하기 이진: 삼항 연산자의 구문은 위에 표시된 것과 같기 때문에 ==;

을 사용해야 합니다: (expr1) ? (expr2) : (expr3), 분명히 위의 이진, 삼항 ' wangjinbo' 또는 'wjb'는 단독으로 사용할 수 없습니다.

올바른 이해는 입니다.

$_GET['abc']는 null 값입니다(즉, 여부(false), ' ', null, 0, PHP의 undifine은 모두 동등한 Boolean 값 false) 이때 $str에는 'wjb' 값이 할당되고, 그렇지 않으면 'wangjinbo' 값이 할당됩니다. IF 문에 조건이 없으면 내용 자체 $_GET['abc']가 True이고 조건이 성립하며 str에 'wangjinbo' 값이 할당되고, 그렇지 않은 경우에는 'wjb' 값이 할당됩니다. true에 대한 값, true(true)는 값이 있음을 의미하고, false(false)는 값이 없음을 의미합니다.
요약

: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 권장 사항:

게시 요청을 시뮬레이션하기 위한 PHP의 세 가지 일반적인 용도

파일 작업 및 문자열 암호화를 위한 PHP 방법

배열 삭제, 변환, 그룹화 및 정렬을 위한 PHP

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

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