4

我将如何添加 isset() 并在下面的代码中保留 empty()?

$pagesize = (!empty($_GET['pagesize'])) ? $_GET['pagesize'] : 20;

更新:

我只是想确保 php 不会产生任何通知或警告

4

2 回答 2

11

你是这个意思吗?

$pagesize = (isset($_GET['pagesize']) && !empty($_GET['pagesize'])) ? 
                $_GET['pagesize'] :
                20;

http://us.php.net/manual/en/language.operators.logical.php

编辑:
要完整,empty已经检查是否设置了某些内容,因此您也不需要使用 isset() 。
如果它直接进入查询或类似的东西,我也会警告不要使用此代码。考虑使用intvalis_numeric和类似的函数。

于 2009-08-14T02:31:12.787 回答
3

我不确定你到底想要什么。isset将检查是否已设置值,如果已设置则返回 true。empty将检查一个值是否尚未设置或是否等于 false(例如:),0, "", null如果是则返回 true。

我不明白你为什么需要将两者结合起来。要在没有 的情况下重写您的示例empty,您可以这样做:

$pagesize = isset($_GET['pagesize']) && $_GET['pagesize']
          ? $_GET['pagesize']
          : 20;
于 2009-08-14T02:32:23.953 回答