문제

가능한 복제 :
빠른 PHP 구문 질문

return $add_review ? FALSE : $arg;

물음표와 결장은 무엇을 의미합니까?

감사

도움이 되었습니까?

해결책

이것은 PHP입니다 3 배 운영자 (조건부 연산자라고도 함) - 첫 번째 피연산자가 True를 평가하고 두 번째 피연산자로 평가하고, 그렇지 않으면 세 번째 피연산자로 평가하십시오.

표현식에서 사용할 수있는 "if"문으로 생각하십시오. 어떤 조건에 의존하는 간결한 과제를 만드는 데 매우 유용 할 수 있습니다.

$param = isset($_GET['param']) ? $_GET['param'] : 'default';

이것의 속기 버전도 있습니다 (PHP 5.3 이후). 중간 피연산자를 제거 할 수 있습니다. 연산자는 사실이라면 첫 번째 피연산자로 평가되고 세 번째 피연산자는 그렇지 않으면 평가됩니다. 예를 들어:

$result = $x ?: 'default';

ie $ _get 또는 $ _post 변수를 사용할 때 위의 코드는 정의되지 않은 인덱스 통지를 던지고 더 긴 버전을 사용해야하는 것을 방지합니다. isset 또는 널 합쳐진 연산자 PHP7에서 소개됩니다.

$param = $_GET['param'] ?? 'default';

다른 팁

그것은 if-else 연산자의 3 가지 형태입니다. 위의 진술은 기본적으로 다음과 같이 읽습니다.

if ($add_review) then {
    return FALSE; //$add_review evaluated as True
} else {
    return $arg //$add_review evaluated as False
}

PHP의 Ternary OP에 대한 자세한 내용은 여기를 참조하십시오. http://www.addedbytes.com/php/ternary-conditionals/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top