2013-07-02 3 views
0

나는 내 친구와 함께 쓰던 코드를 파헤 치고있다. 이 지났는데 나는 목적이 조각의 무엇인지 알아낼 수 없습니다 :이 간단한 코드는 무엇을합니까 (초보자)?

$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : "home.php"; 

그것은 그 PHP 파일의 코드 만 거의이다.

고마워요.

답변

2

기본적으로는 그 상태를 확인 ternary operator라는 페이지 변수 POSTGET 방법 또는 방법에 의해 어느 설정되어 있는지 여부. REQUEST 방법이 삼원이다 확인할 수 both.and가 다음 설정되면 요청 페이지 값 $_REQUEST['page']는 defaultly 'home.php'

if (isset($_REQUEST['page'])){ 
    $page = $_REQUEST['page'] ; 
} else { 
    $page = "home.php" ; 
} 
2

그것은 그것은 Ternary operator라고

if (isset($_REQUEST['page'])){ 
    $page = $_REQUEST['page'] ; 
} else { 
    $page = "home.php" ; 
} 

과 동일합니다. 코드에 대한 가독성을 제공합니다.

(expr) ? (value if true) : (value if false) 
1

같이 $page 동일하게 할당 될 다른 $page 변수 또는 할당 될 운영자. 한 줄의 if 문입니다.

test ? true-value : false-value 

그것은 ? 전에 표현의 일부를 평가 :

의 형태이고, 이것은 삼원 연산자 않습니다

if (isset($_REQUEST['page'])) { 
    $page = $_REQUEST['page']; 
} else { 
    $page = 'home.php'; 
} 
1

처럼 읽는다. 참이면 true-value 표현식이 계산되고 반환됩니다. 그렇지 않으면 false-value 표현식이 계산되어 반환됩니다.

코드에서 $_REQUEST['page']이 설정되어 있는지 확인합니다. 값이 0이면 $page이 값으로 설정되고 그렇지 않으면 $pagehome.php으로 설정됩니다.

$_REQUEST은 URL (예 : $_GET) 또는 양식 필드 (예 : $_POST')에서 설정된 매개 변수를 포함하는 미리 정의 된 변수입니다. 모든

2

먼저 이해하는 것이 Superglobals에 대해 조금을 읽으려고 왜 당신이 $ _REQUEST 를 사용할 때 다음의 방법 isset() 그리고 마지막으로 sintax을 확인 명세서 느릅 나무가

경우 경우 (조건) doSomething else doSomething;

그래서 기본적으로 $ _REQUEST [ 'page']에 값이 있는지 확인합니다 (null이 아니거나 설정되지 않음). 있다면, 그 값을 $ page 변수에 넣습니다. 그렇지 않으면 $ page를 "home.php"값으로 설정합니다.

도움이 되었으면합니다.