时间:2021-05-26
本文实例讲述了php中isset与empty函数的困惑与用法。分享给大家供大家参考,具体如下:
在学习php有一段时间之后,感觉自己的基础知识还是有点不牢固,有的问题就不怎么知道,比如就有一个,在判断一个变量是否为空的情况下,我就不知道是用isset()还是empty()。今天我就来分析该用哪个函数。
isset():用于判断一个函数是否被设置过,如果设置过就为true,否则就为false,但是有一个例外,就是如果一个变量被设置成null的话,此时也会返回的也是false。
<?php $a = null; var_dump(isset($a));//a变量已赋值,但是被设置成null,故返回false var_dump(isset($b));//内存中不存在变量b,故返回false var_dump(isset($_GET['id']));//如果$_GET['id']变量不存在,则返回false;如果$_GET['id']存在,则返回true?>empty():用于判断一个变量是否为空,如果是整形的0,浮点型的0.0,字符型的' ‘和'0',还有布尔型的false,NULL型的null,空数组等
<?php $a = null; var_dump(empty($a));//true $b = ""; var_dump(empty($b));//true $c = "0"; var_dump(empty($b));//true $c = 0; var_dump(empty($b));//true $e = false; var_dump(empty($e));//true $f = array(); var_dump(empty($f));//true var_dump(empty($g));//$g变量不存在,返回true var_dump(empty($_GET['id']));//如果$_GET['id']不存在,则返回true;如果存在,但是值是上述条件,则还是返回true。?>总结:如果是判断一个变量是否存在,可以用isset()和empty();如果判断变量的值是否为空,那么就用empty()。
注意:以前我在做项目的时候,出现了这样的一个问题,我把select下拉列表框的选中的值传到服务器,服务器从超全局数组中获取到了值,但是当时我不清楚isset()和empty()的区别,当时只知道他们都能判断变量是否存在,结果我用了empty()函数,最后,就出现bug了,我用empty()进行判断,把我传过来的变量的值为0的情况就给排除了。
所有在这里提醒大家,如果只是判断变量是否为空,最好还是用isset()。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
有关PHP的empty(),isset()还有is_null()这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚。这里再重复一次,但不是从概念去
is_null,empty,isset,unset我们先来看看这4个函数的描述。isset判断变量是否已存在(配置)unset把变量删除(释放)掉empty判断
几乎任何入口的HTTP请求我们都会去检测它携带的参数,类似isset()empty()的函数一定不少见。以下的测试结果基于PHP7.16是否定义判断:isset
做php开发时候,通常会用到empty,isset,is_null这几个函数,使用不当的话甚至给自己的程序带来一些安全隐患的bug。很多时候,对于isset,e
本文实例讲述了php中convert_uuencode()与convert_uuencode函数用法。分享给大家供大家参考。具体分析如下:onvert_uude