-1

这是一个非常基本的问题,我很乐意提出,但对我来说理解它真的很有用,所以我将来可以使用这种方法,

我怎么转

if($_GET['page']) {
  $page = $_GET['page'];
} else {
  $page = 0;
}

变成一个简单的 1 行速记结果?

4

5 回答 5

4

尝试 :

$page = $_GET['page'] ? $_GET['page'] : 0;
于 2013-02-13T12:45:13.153 回答
2

你的陈述的一个真正简单的速记就是

$page = $_GET['page'];

这对大多数情况来说就足够了。

但是您的真正意思是if (isset($_GET['page'])),不仅if ($_GET['page'])
如此,还可以使用这些三元组之一。

但是,对于像我这样的变量,$page我会使用不同的策略,称为“定义你的变量!

因此,对于基本变量,我将首先定义它们。

$page = 0;

然后,在处理请求时,将其设置为某个值,存在

if(isset($_GET['page'])) {
    if (!is_numeric($_GET['page'])) {
         throw new HTTP400()
    } else {
        $page = $_GET['page'];
    }
}
于 2013-02-13T12:53:10.700 回答
0
$page=(isset($_GET['page']))?$_GET['page']:0;
于 2013-02-13T12:46:12.807 回答
0

我建议你也使用 isset() 来更好地处理错误。

$page = (isset($_GET['page'])) ? $_GET['page'] : 0;
于 2013-02-13T12:47:12.737 回答
0

我会添加标准检查:

$page=isset($_GET['page'])?$_GET['page']:0;
于 2013-02-13T12:47:48.450 回答