我正在挖一个我曾经和我的朋友一起写的代码。 它已经有一段时间,我想不通的目的是这个片段的东西:这个简单的代码做什么(新手)?
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : "home.php";
这几乎是在PHP文件的唯一代码。
非常感谢。
我正在挖一个我曾经和我的朋友一起写的代码。 它已经有一段时间,我想不通的目的是这个片段的东西:这个简单的代码做什么(新手)?
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : "home.php";
这几乎是在PHP文件的唯一代码。
非常感谢。
基本上它是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" ;
}
这是一样的
if (isset($_REQUEST['page'])){
$page = $_REQUEST['page'] ;
} else {
$page = "home.php" ;
}
它被称为Ternary operator
。为您的代码提供一些可读性。
(expr) ? (value if true) : (value if false)
这是一种三元运营商。它是一条单独的语句。
阅读它像这样
if (isset($_REQUEST['page'])) {
$page = $_REQUEST['page'];
} else {
$page = 'home.php';
}
这是三元运算符,形式是:
test ? true-value : false-value
它计算表达式的?
之前的部分。如果为真,则评估并返回true-value
表达式,否则将评估并返回false-value
表达式。
所以你的代码检查是否设置了$_REQUEST['page']
。如果是,则将$page
设置为其值,否则将$page
设置为home.php
。
$_REQUEST
是一个预定义变量,包含从URL(如$_GET
)或表单域(如$_POST'
)中设置的参数。
首先尝试读一些关于Superglobals理解为什么当你使用$ _REQUEST 然后检查方法isset() 最后的sintax您的if语句至极是
如果(条件)还有别的事情做什么;
所以基本上你检查$ _REQUEST ['page']是否有一个值(非空或未设置)。 如果有,您将该值放入变量$页面。否则,你设置$页的值“home.php。
希望它有帮助!