我有一个关于PHP中的NULL的问题:
$a = '';
if($a == NULL) {
echo 'is null';
}
为什么我看到是空的时候$a是一个空字符串?那是虫子吗?
我有一个关于PHP中的NULL的问题:
$a = '';
if($a == NULL) {
echo 'is null';
}
为什么我看到是空的时候$a是一个空字符串?那是虫子吗?
当前回答
检查== vs ===
== NULL将返回true 0 == NULL将返回true False == null将返回true
而
=== NULL将返回false 0 === NULL将返回false false === NULL返回false
其他回答
NULL表示没有值的变量。要检查一个变量是否为NULL,您可以使用is_null($var)或与NULL的比较(===)。但是,如果变量没有定义,这两种方法都会生成警告。类似于isset($var)和empty($var),它们可以作为函数使用。
var_dump(is_null($var)); // true
var_dump($var === null); // true
var_dump(empty($var)); // true
阅读更多在如何检查如果一个变量是空的PHP?
如果使用==,php将空字符串或数组视为null。要区分null和empty,可以使用===或is_null。所以:
if($a === NULL)或if(is_null($a))
只是附加如果有人正在处理 ,这将工作如果处理 。
首先用str_replace()替换它,然后用empty()检查它
empty(str_replace(" " ,"" , $YOUR_DATA)) ? $YOUR_DATA = '--' : $YOUR_DATA;
你要找的是:
if($variable === NULL) {...}
注意===。 当使用==时,PHP将NULL、false、0、空字符串和空数组视为相等。
PHP 7 isset() vs empty() vs is_null()