除了empty()之外,我如何使用PHP的isset()?

时间:2009-08-14 02:28:32

标签: php isset

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

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

更新:

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

2 个答案:

答案 0 :(得分:12)

这是你的意思吗?

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

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

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

答案 1 :(得分:3)

我不确定你在这之后究竟是什么。 isset将检查是否已设置值,如果已设置则返回true。 empty将检查值是否已设置或是否等于false(例如:0, "", null),如果匹配则返回true。

我不明白为什么你需要将两者结合起来。要在不使用 empty的情况下重写示例,您可以执行以下操作:

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