2025-01-17 08:00:03

PHP是空时为空?

我有一个关于PHP中的NULL的问题:

  $a = '';
  if($a == NULL) {
      echo 'is null';
  }

为什么我看到是空的时候$a是一个空字符串?那是虫子吗?


当前回答

使用empty - http://php.net/manual/en/function.empty.php。

例子:

$a = '';
if(empty($a)) {
    echo 'is empty';
}

其他回答

检查== vs ===

== NULL将返回true 0 == NULL将返回true False == null将返回true

=== NULL将返回false 0 === NULL将返回false false === NULL返回false

PHP 7 isset() vs empty() vs is_null()

你要找的是:

if($variable === NULL) {...}

注意===。 当使用==时,PHP将NULL、false、0、空字符串和空数组视为相等。

使用empty - http://php.net/manual/en/function.empty.php。

例子:

$a = '';
if(empty($a)) {
    echo 'is empty';
}

如果使用==,php将空字符串或数组视为null。要区分null和empty,可以使用===或is_null。所以:

if($a === NULL)或if(is_null($a))