搜索

总是忘了isset与empty的区别-php随记

染念 染念

@(狂汗)都是5个单词,不能从字数上编口诀....

isset 判断变量是否已存在,如果变量存在则返回 TRUE,否则返回 FALSE。

empty 判断变量是否为空,如果变量是非空 或非零 的值,则 empty() 返回 FALSE。换句话说,"" 、0 、"0"、NULL
、FALSE 、array() 、var $var,未定义以及没有任何属性的对象 都将被认为是空的,如果变量为空,则返回TRUE。

“”算一个长度为0的字符串,是已经存在的值,这不是null或未赋值,也就是说对isset来说是true(fasle就是null和未赋值啦)
empty更加强大了,只要变量是""或者0,或者是false和null,只要是这些值empty都会返回true。
就是说empty在isset的基础上更上一层,判断却想法,empty空才true,isset空未fasle,这里的空两者含义不同

isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != ""

$_SERVER['QUERY_STRING']先判断是否存在,存在也可能是“”
而这句话经过优化,只需要这样即可

!empty($_SERVER['QUERY_STRING'])

@(挖鼻)可以说,empty有py,因为py更加强大,因此空虚才是真,不虚才有真颜色(s)
images.jpg
虽然这么说,但也不能否认isset的存在,因为在判断“”,0,fasle这些来说,isset都是true,挺有用的。

本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。

查看目录

目录

来自 《总是忘了isset与empty的区别-php随记》

评论区



可能感兴趣