我正在PHP学习,我正在探索我的代码并学习比较运算符列表,但是我会尝试在我的比较运算符之前设置回声并且我已经收到了这个结果:1然后我虽然原因是比较真等于1,否则等于0,在这一刻似乎我有些蟒蛇,但我得到了1。结果为什么不是0?
附上我的问题
答案 0 :(得分:2)
您正在打印一个布尔值。该值将转换为字符串,其中1表示true,空字符串表示false。
从手册:
布尔值TRUE值转换为字符串“1”。 Boolean FALSE转换为“”(空字符串)。这允许在布尔值和字符串值之间来回转换。
http://php.net/manual/en/language.types.string.php
您可以使用三元运算符在适当的位置输出字符串true或false。例如:
echo (10 >= 12) ? 'true' : 'false';
答案 1 :(得分:1)
当在php中打印布尔值时,如果TRUE
和""则打印1如果FALSE
。
如果您想FALSE
打印0,那么您可以转换为int
。
在你的情况下,你可以像这样使用
$bool = 10 >= 12;
echo (int)$bool;
它将返回0.
答案 2 :(得分:0)
<?php
echo 10>=9 // print 1 as it is true
echo 11>3 // print 1
echo 11 == 11 // print 1
echo 10>=12 // print nothing because it is false
这种情况发生,因为布尔值TRUE值被转换为字符串“1”。 Boolean FALSE转换为“”(空字符串)。