is_null和isset
这两个函数都可以来判断一个变量是否为null,它们对空字符串,0,false的认同是一样的。即is_null=! isset()。
但是isset是语法结构,is_null是函数。在性能上,语法结构相对要优秀一点。所以很多地方都推荐使用isset来代替is_null的使用。
== 和 ===
在有些情况下,推荐使用isset来判断一个变量是否为null。
但是从语义上来说,一个变量”是否已显示初始化“和”是否为null“是不同的概念,在某些场景下使用isset是不合适的,比如检查一个函数的返回值是否为null。此时可以使用==和”===“来判断它们是否为null。
对于==和”===“,它们直接的区别还是很大。
对于==,它认同空字符串,0,false都为null。而对于===,只有一个变量真的为null,它才代表null。
另外===相对于isset来说,性能基本接近,甚至要好点。
因此综上述,判断一个变量是否为null最好的办法就是直接使用===,这样就不用在is_null,isset之间犹豫。其实上述的结论也同理于false的判断。
推荐教程:php视频教程
以上就是php判断一个变量是否为null的详细内容。
