我正在挖掘我曾经和我的一个朋友一起写的代码。 已经有一段时间了,我无法弄清楚这个片段的目的是什么:
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : "home.php";
这几乎是该php文件中的唯一代码。
非常感谢。
答案 0 :(得分:2)
与
相同if (isset($_REQUEST['page'])){
$page = $_REQUEST['page'] ;
} else {
$page = "home.php" ;
}
它被称为Ternary operator
。为您的代码提供一些可读性。
(expr) ? (value if true) : (value if false)
答案 1 :(得分:2)
基本上ternary operator
检查是否通过POST
方法或GET
方法设置页面变量的条件。REQUEST
方法可以检查两者。如果已设置,则请求页面值$_REQUEST['page']
将分配给$page
变量,否则默认情况下,'home.php'将分配给$page
,与
if (isset($_REQUEST['page'])){
$page = $_REQUEST['page'] ;
} else {
$page = "home.php" ;
}
答案 2 :(得分:2)
首先尝试阅读Superglobals以了解为何以及何时使用$ _REQUEST 然后检查方法isset() 最后,你的if语句的sintax是
如果(条件)做其他事做某事;
所以基本上你检查$ _REQUEST ['page']是否有值(不为null或未设置)。 如果有,则将该值放入变量$ page。否则,使用值“home.php。
设置$ page希望它有所帮助!
答案 3 :(得分:1)
这是一个三元运营商。它是单行if语句。
像这样阅读
if (isset($_REQUEST['page'])) {
$page = $_REQUEST['page'];
} else {
$page = 'home.php';
}
答案 4 :(得分:1)
这是三元运算符,形式为:
test ? true-value : false-value
它评估?
之前表达式的一部分。如果是,则评估并返回true-value
表达式,否则评估并返回false-value
表达式。
因此,您的代码会检查是否设置了$_REQUEST['page']
。如果是,则$page
设置为其值,否则$page
设置为home.php
。
$_REQUEST
是一个预定义变量,其中包含从网址(如$_GET
)或表单字段(如$_POST'
)设置的参数。