3

저는 PHP를 처음 사용합니다. WordPress에서이 구문을 발견했습니다. 그 코드의 마지막 줄은 무엇을합니까? the ternary operator

$page = $_SERVER['REQUEST_URI']; 
$page = str_replace("/","",$page); 
$page = str_replace(".php","",$page); 
$page = $page ? $page : 'default' 
+0

와우! 압도적 인 응답 .. :) 감사합니다 – jest

+0

가능한 중복 [참조 -이 기호는 PHP에서 무엇을 의미합니까?] (http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in- PHP) – outis

답변

7

:

그 라인은 $ 페이지에 값이없는 경우 있음을 의미합니다 (또는 0입니다), '기본'으로 설정

if ($page) 
    $page = $page; 
else 
    $page = 'default'; 
+1

"조건부 연산자"란 무엇을 의미합니까? "삼항 연산자"(조건 연산자 *** 중 하나)를 의미하지 않습니까? –

+0

원래 "삼항 연산자"를 썼습니다. @Ether가 편집하여 "조건부"로 변경했습니다. 이상한. – echo

+0

"삼항 연산자"가 둘 이상일 수 있으므로 모호합니다. – Ether

2

로 변환합니다. 마지막 줄의

1

더 자세한 구문은 다음과 같습니다

if ($page) 
{ 
    $page = $page; 
} 
else 
{ 
    $page = 'default'; 
} 
1

그것은 $ 페이지 변수가 비어 있지 않은 경우 그 변수의 마지막 줄에 $ 페이지 변수를 지정하거나 '기본'페이지로 설정 의미 이름. 의

It is called conditional operator

+0

그것은 정말로 ** 단지 ** a 3 원 운영자 인 ** 3 원 운영자로 잘못 명명되었습니다. 대부분의 언어에서 3 차 연산자가 구현되었지만 3 가지 인수를 취하는 다른 연산자의 생성을 배제하지는 않습니다. 예를 들어, 언어는 Forth의':'연산자와 마찬가지로 함수를 선언하는 연산자를 가질 수 있습니다.이 연산자는 함수 이름, 매개 변수 목록 및 코드 블록에서 작동합니다. 그것은 또한 삼항 연산자가 될 것입니다. – slebetman

+0

"조건부 연산자"? "삼항 운영자"라는 뜻이 아닌가요? –

0

conditional operator 소위. 그것은 대부분되는 언어의 존재, 그래서

$page = $page ? $page : 'default'; 

그것은 PHP가 아니거나 워드 프레스 고유 한 ternary operation있어

if($page) 
{ 
    $page = $page; 
} 
else 
{ 
    $page = 'default'; 
} 
+0

참고 자료에는 조건부 연산자 중 하나 인 삼항 연산자 (또는 삼항 연산자)가 나와 있습니다.당신은 정교 할 수 있습니까? –

3

과 같은 작업을 수행,는 IF-else 문 같은 기능을 수행합니다. 그렇지 않으면 변경되지 않습니다 - $ 페이지가 false 비슷한 경우

(condition) ? true_case : false_case 

그래서이 경우에는 $ 페이지의 값은 "기본"입니다.