1、is_null函数在以下下情况会返回True
1.1、未初始化的变量。只定义一个变量,不赋值。
exp:创建一个变量val1,不赋值。用is_null函数检测该变量,打印输出结果
检测结果:true
1.2、创建变量,直接赋值为null。
exp:创建一个变量val1,赋值为null。用is_null函数检测该变量,打印输出结果
检测结果:true
1.3、使用unset函数销毁的变量。
exp:创建一个变量val1,随意赋值,然后用unset函数销毁,用is_null函数检测该变量,打印输出结果
检测结果:true
总结:变量不存在、没赋值、值为null时,返回true
2、empty()函数在以下下情况会返回True
2.1、变量赋值为空字符串
exp:创建一个变量str1,赋值为空字符串。用empty函数检测该变量,打印输出结果
检测结果:true
2.2、变量赋值为null
exp:创建一个变量str1,赋值为null。用empty函数检测该变量,打印输出结果
检测结果:true
注意:1、null一定是空,但空不一定是null。因为空字符串不是null
2.3、数字0
exp:创建一个变量str1,赋值为数字0。用empty函数检测该变量,打印输出结果
检测结果:true
2.4、字符串0
exp:创建一个变量str1,赋值为字符串:'0'。用empty函数检测该变量,打印输出结果
检测结果:true
2.4、布尔false
exp:创建一个变量str1,赋值为false。用empty函数检测该变量,打印输出结果
检测结果:true
3、isset()函数在以下下情况会返回True
3.1、变量存在且不为null。
exp:创建一个变量val1,赋值不为null,用isset函数检测该变量,打印输出结果
检测结果:true
总结1、未声明的变量要用isset(),用is_null是会报出警告。判断变量是否存在用isset()
2、已声明的变量:判断空要用empty,判断是否已经初始化is_null