@(狂汗)都是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)
虽然这么说,但也不能否认isset的存在,因为在判断“”,0,fasle这些来说,isset都是true,挺有用的。