都是 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,挺有用的。
