PHP-在PHP中,对于变量的检查能用empty代替isset么?

发布于 2016-10-27 12:21:59 字数 211 浏览 1319 评论 4

我翻看了很多资料,感觉应该是可以代替的。但是却没有看到一篇权威的资料有这个知识点的总结。望高手赐教。我的感觉是可以的。我们探讨的是isset和empty的替代问题,因为我们经常在代码中这样写:

if(isset($a)){
if(!empty($a)){
dosomething();
}
};

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

晚风撩人 2017-07-23 04:51:42

empty表示,当一个变量值为0或者为''或者为null,或者只是申明了,并且没有任何值,那么在使用empty函数时,它都表示为空,
而isset它只表示,如果你这个变量申明了,不管它是不是0或null,或'',它都是存在的,
is_null ,只有在值为null的时候,它才表示真。
我一般都会这样用如:
if(isset($_GET['id']) && !empty($_GET['id'])) .....
个人感觉可以使用empty代替isset

虐人心 2017-03-12 11:59:21

不能!
isset是检查这个变量是否被声明

empty是检查这个变量内容是否为语义上的空

瑾兮 2017-03-09 09:48:46

这个是有区别的,不能相互代替!
isset是为了判断变量是否被声明
empty是为了判断已经声明的变量是否为 0 或者 null
一个简单的例子:

 //判断该引导页面是否打开过,如果打开过直接跳转至首页!
//使用cookie实现
if(isset($_COOKIE['history']))
{
header("Location:index.php");
}
else
{
//设置cookie,跳转至引导页面
setcookie("history",md5(time()),time()+86400)
header("Location:guide.php");
}

你可以自己写个页面使用empty看看两者能否替换?

夜无邪 2016-11-19 07:01:12

你可以用下面的例子试试:

if(!isset($a)) $a = 1;
echo $a;

if(!empty($b)) $b = 1;
echo $b;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文