这个简单的代码做什么(新手)?

时间:2013-07-02 08:36:19

标签: php request

我正在挖掘我曾经和我的一个朋友一起写的代码。 已经有一段时间了,我无法弄清楚这个片段的目的是什么:

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

这几乎是该php文件中的唯一代码。

非常感谢。

5 个答案:

答案 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')设置的参数。