首页 - 数据 - PHP 检测值是否为空(null 或 false)

PHP 检测值是否为空(null 或 false)

2023-10-10 02:57

本文摘自 PHP 最佳实践 - 检测值是否为 null 或 false。

使用 === 运算符检测 null 值和 false 值。

PHP 的宽松类型系统提供了许多不同的方法来检查变量的值。然而这也产生了很多问题。使用 == 来检测值是 null 还是 false。如果该值实际上是空字符串或0,则会误报false。 isset 测试变量是否有值,而不是测试该值是否为 null 或 false,因此在这里使用它是不合适的。

is_null() 函数可以准确检测某个值是否为 null,is_bool 可以检测某个值是否为 布尔 值(例如 false),但还有更好的选择:=== 运算符。 === 测试两个值是否相同,这与 PHP 松散类型世界中的相等不同。它也比 is_null() 和 is_bool() 更快,而且有些人认为它比使用函数进行比较更干净。

示例

可能的陷阱

  • 当测试返回 0 或 false 的函数的返回值时,例如 strpos(),请始终使用 === 和 !==,否则会遇到问题。

进一步阅读

  • PHP 手册:比较运算符
  • 堆栈溢出:is_null() 与 ===
  • Laruence:isset 和 is_null 的区别