根据 :
$ php -a
Interactive shell
php > var_dump("0" != 0);
bool(false)
php > var_dump(0 != null);
bool(false)
php > var_dump("0" != null);
bool(true)
你能解释为什么最后一个断言是真的吗?
顺便说一句,它是 PHP cli 5.3.6。
根据 :
$ php -a
Interactive shell
php > var_dump("0" != 0);
bool(false)
php > var_dump(0 != null);
bool(false)
php > var_dump("0" != null);
bool(true)
你能解释为什么最后一个断言是真的吗?
顺便说一句,它是 PHP cli 5.3.6。
因为它是一个值为0的字符串,它并不像你想象的那样为空(包含“0”)
"0"
不是空值。这是一个字符串。
""
也不为空。那是一个空字符串。
这并不奇怪,它已记录在案
$ php -a
<?php
var_dump("config~123~123" == true);
bool(true)
var_dump("config~123~123" == 0);
bool(true)
一样,所以逻辑!
“0”和 0 不是空值。“0”是一个字符串。0 是一个整数。null 是没有值的。