<?php
echo '0' == 0 ?1:0;
echo '00' == 0 ?1:0;
echo '01' == 0 ?1:0;
echo '00' == '0' ? 1:0;
echo '0' == false ? 1:0;
echo '00' == false ? 1:0;
结果
110110
现在待解决的问题是字符串'00'='0'
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP中,
字符串 对比 数字:
intval(字符串) == 数字但是如果转不了就不等于了字符串 对比 Boolean:
boolval(字符串) == boolean字符串 对比 字符串:
'000' == '0' true也就是在尝试将能转化成数字的一律转化成数字,
但是和Boolean对比时是
boolval比较严格,只支持0
false'0'
false''
false'abc123'
true[]
false[xxx]
truenull
false当转换为 boolean 时,以下值被认为是 FALSE:
布尔值 FALSE 本身
整型值 0(零)
浮点型值 0.0(零)
空字符串,以及字符串 "0"(这里要注意'00'的区别) '0'转变后是false,然后'00' 是true
不包括任何元素的数组
不包括任何成员变量的对象(仅 PHP 4.0 适用)
特殊类型 NULL(包括尚未赋值的变量)
从空标记生成的 SimpleXML 对象
参考http://php.net/manual/zh/lang...
楼上已经说了,就贴个
==图每个平台对应有些变化, 觉得如果想跨平台开发, 或者想学习多种语言, 请用标准的方式去比较而不是随便判断一个对象是否false