<?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'
<?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'
当转换为 boolean 时,以下值被认为是 FALSE:
布尔值 FALSE 本身
整型值 0(零)
浮点型值 0.0(零)
空字符串,以及字符串 "0"(这里要注意'00'的区别) '0'转变后是false,然后'00' 是true
不包括任何元素的数组
不包括任何成员变量的对象(仅 PHP 4.0 适用)
特殊类型 NULL(包括尚未赋值的变量)
从空标记生成的 SimpleXML 对象
4 回答13.6k 阅读✓ 已解决
5 回答8k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答588 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答841 阅读✓ 已解决
PHP中,
字符串 对比 数字:
intval(字符串) == 数字
但是如果转不了就不等于了字符串 对比 Boolean:
boolval(字符串) == boolean
字符串 对比 字符串:
'000' == '0' true
也就是在尝试将能转化成数字的一律转化成数字,
但是和Boolean对比时是
boolval
比较严格,只支持0
false
'0'
false
''
false
'abc123'
true
[]
false
[xxx]
true
null
false