数组:
count($arr),size($arr);
empty($arr);
变量:
isset:
它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过。当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右 isset($a[‘s’])
empty:
任何一个未初始化的变量、值为 0 或false 或 空字符串”” 或 null的变量、空数组、没有任何属性的对象,都将判断为empty==true
注意2:empty只能检测变量,而不能检测语句
var == null:
判断变量是否为“空”
说明:值为 0 或 false 或 空字符串”” 或 null的变量、空数组、都将判断为 null
注意:与empty的显著不同就是:变量未初始化时 var == null 将会报错。
is_null:
检测变量是否为“null”
说明:当变量被赋值为“null”时,检测结果为true
注意1:null不区分大小写:$a = null; $a = NULL 没有任何区别
注意2:仅在变量的值为“null”时,检测结果才为true,0、空字符串、false、空数组都检测为false
注意3:变量未初始化时,程序将会报错
总结
isset 主要用来判断变量是否被初始化过
empty 可以将值为 “假”、“空”、“0”、“NULL”、“未初始化” 的变量都判断为TRUE
is_null 仅把值为 “NULL” 的变量判断为TRUE