2013-07-02 31 views
0

我正在挖一个我曾经和我的朋友一起写的代码。 它已经有一段时间,我想不通的目的是这个片段的东西:这个简单的代码做什么(新手)?

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

这几乎是在PHP文件的唯一代码。

非常感谢。

回答

2

基本上它是ternary operator,对于条件检查该页面是否变量通过POST方法或GET方法设定任一。 REQUEST方法可以检查both.and如果设置它则请求页面值$_REQUEST['page']将被分配到$page可变要不然defaultly“home.php”将被指派给$page相同

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

这是一样的

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

它被称为Ternary operator。为您的代码提供一些可读性。

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

这是一种三元运营商。它是一条单独的语句。

阅读它像这样

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

这是三元运算符,形式是:

test ? true-value : false-value 

它计算表达式的?之前的部分。如果为真,则评估并返回true-value表达式,否则将评估并返回false-value表达式。

所以你的代码检查是否设置了$_REQUEST['page']。如果是,则将$page设置为其值,否则将$page设置为home.php

$_REQUEST是一个预定义变量,包含从URL(如$_GET)或表单域(如$_POST')中设置的参数。

2

首先尝试读一些关于Superglobals理解为什么当你使用$ _REQUEST 然后检查方法isset() 最后的sintax您的if语句至极是

如果(条件)还有别的事情做什么;

所以基本上你检查$ _REQUEST ['page']是否有一个值(非空或未设置)。 如果有,您将该值放入变量$页面。否则,你设置$页的值“home.php。

希望它有帮助!