【发布时间】:2014-01-05 12:45:55
【问题描述】:
我对 PHP 中的 truth 有点困惑。
我的理解是0计算为假,非空字符串(除非字符串为“0”)计算为真。
正如我所料:
var_dump((bool) 0); // prints "boolean false"
var_dump((bool) 'someString'); // prints "boolean true"
但随后我对以下结果感到惊讶:
var_dump((0=='someString')); // prints "boolean true"
我的问题是,为什么0=='someString' 评估为真?
【问题讨论】:
-
Nanne - 我了解这些运营商之间的区别。这是一个关于如何在
==不同类型的比较中评估真/假的问题。不同的国际海事组织。 -
php 是一种软类型语言,它可以即时转换类型 0 既可以是字符串也可以是整数,具体取决于它的使用位置,无需进行任何更改
-
标题中的错误。"someString" == 0 不会评估为 true,因为它是字符串比较,但 0=="somestring" 会因为它是数字比较。
标签: php