例子:'0' == false
PHP 官方文档中有这么描述
如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行。此规则也适用于 switch 语句。当用 === 或 !== 进行比较时则不进行类型转换,因为此时类型和数值都要比对。
连接: http://www.php.net/manual/zh/language.operators.comparison.php
所以,'0' == false
,我能理解
那么,'false' == true
,我是不是应该理解为,先将'false'
转成整数型
而将字符串'false'
转成数字后,结果为0
,为什么等于true
呢?
参考: http://php.net/manual/zh/language.types.string.php#language.types.string.conversion
我该如何理解这个过程?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.