is_null($var)和($var === null)有什么区别?
2022-08-30 07:57:51
这有什么区别吗...
if (is_null($var)) {
do_something();
}
和这个?
if ($var === null) {
do_something();
}
在检查变量是否包含 null 时,哪种形式更好?是否有任何我应该注意的边缘情况?(我初始化我所有的变量,所以不存在的变量不是问题。
这有什么区别吗...
if (is_null($var)) {
do_something();
}
和这个?
if ($var === null) {
do_something();
}
在检查变量是否包含 null 时,哪种形式更好?是否有任何我应该注意的边缘情况?(我初始化我所有的变量,所以不存在的变量不是问题。
✅
是true
❌
是false
| isset | is_null | ===null | ==null | empty |
|-------|---------|---------|---------|---------|---------|
| null | ❌ | ✅ | ✅ | ✅ | ✅ |
| true | ✅ | ❌ | ❌ | ❌ | ❌ |
| false | ✅ | ❌ | ❌ | ✅ | ✅ |
| 0 | ✅ | ❌ | ❌ | ✅ | ✅ |
| 1 | ✅ | ❌ | ❌ | ❌ | ❌ |
| \0 | ✅ | ❌ | ❌ | ❌ | ❌ |
| unset | ❌ | ✅ | ✅ | ✅ | ✅ |
| "" | ✅ | ❌ | ❌ | ✅ | ✅ |