가능한 중복 :
quick php syntax questionPHP 문법 질문 : 물음표와 콜론은 무엇을 의미합니까?
return $add_review ? FALSE : $arg;
물음표와 콜론은 무엇을 의미합니까?
감사
가능한 중복 :
quick php syntax questionPHP 문법 질문 : 물음표와 콜론은 무엇을 의미합니까?
return $add_review ? FALSE : $arg;
물음표와 콜론은 무엇을 의미합니까?
감사
이것은 PHP ternary operator (또한 조건 연산자라고도 함)된다 - 제 피연산자 해당 평가되면 다른 번째 피연산자로 평가 번째 피연산자로 평가한다.
식으로 사용할 수있는 "if"문이라고 생각하십시오. 어떤 조건에 의존하는 간결한 과제를 만드는데 매우 유용 할 수 있습니다.
$param = isset($_GET['param']) ? $_GET['param'] : 'default';
또한 속기 버전이 있습니다 (PHP 5.3 이상). 중간 피연산자는 생략 할 수 있습니다. 연산자는 참이면 첫 번째 피연산자로, 그렇지 않으면 세 번째 피연산자로 평가됩니다. 예를 들면 :
$result = $x ?: 'default';
그것은 위의 코드는 정의되지 않은 인덱스 통지를 던질 것이다 즉, $ _GET이나 $ _POST 변수를 사용하고있다 isset
또는 a null coalescing operator, 우리는 더 이상 버전을 사용하는 데 필요한 방지하기 위해 때 언급 할 가치가있다 PHP7에서 도입되었습니다 :
$param = $_GET['param'] ?? 'default';
PHP 5.3부터는 3 진 연산자의 중간 부분을 생략 할 수도 있습니다. 표현식'expr1? : expr3'은'expr1'이 TRUE로 평가되면'expr1'를, 그렇지 않으면'expr3'를 반환합니다. – Chandrew
좋은 지적, 나는 ... –
if-else 연산자의 3 진 형식입니다. 위의 문장은 기본적으로 다음과 같이 읽습니다 http://www.addedbytes.com/php/ternary-conditionals/
죄송합니다.이 @cristianivascu를 이해하려고 애쓰는 것은 어떻게 읽을 것인가? php echo ($ active_page == 'home'? 'active': '');?> –
$ active_page의 값은 'home'이라는 문자열을 'active'로 출력하고, 그렇지 않으면 빈 문자열을 출력합니다. –
정확한 중복 : http://stackoverflow.com/questions/889373/quick-php-syntax
는 PHP에서 삼항 연산에 대한 자세한 내용은 여기를 참조하십시오 - 질문 –
도 거의 똑같은 제목을 발견했습니다. –
링크를 제공해 주셔서 감사합니다. –