// case 1:
echo false . 'test'; // output: test
// case 2:
echo true . 'test'; // output: 1test
为什么true
输出1
但是false
什么都没有?PHP中的布尔表达式?
// case 1:
echo false . 'test'; // output: test
// case 2:
echo true . 'test'; // output: 1test
为什么true
输出1
但是false
什么都没有?PHP中的布尔表达式?
简单:
的值可以被转换为使用
(string)
铸造或strval()
功能的字符串。 字符串转换自动完成在表达式范围其中需要一个字符串。在使用echo()
或print()
函数时,或者将变量与字符串进行比较时会发生这种情况。将布尔值TRUE值转换为字符串
"1"
。布尔FALSE转换为""
(空字符串)。这允许在布尔值和字符串值之间来回转换。
http://php.net/manual/en/language.types.string.php#language.types.string.casting
如果我有关于PHP的一个抱怨,那就是在任何时候出现问题的地方它会悄然消失。为什么不能在C++这样的灾难性爆炸中爆炸呢? – 2010-05-06 06:22:18
@Byron激活错误处理 – 2010-05-06 06:23:45
@Byron我不知道这里应该是什么“错误”。这只是打字力量弱而且在玩耍时玩弄类型。学习转换规则,它们是PHP基础知识的一部分,非常简单。 – deceze 2010-05-06 06:24:35
-1请重新表述您的标题。 – Marcel 2010-05-06 06:13:33
你在做什么/学习/弄清楚什么? – 2010-05-06 06:13:45
即使你知道,那是什么实际用途? – Sarfraz 2010-05-06 06:14:00