2010-05-06 47 views
-3
// case 1: 
echo false . 'test'; // output: test 

// case 2: 
echo true . 'test'; // output: 1test 

为什么true输出1但是false什么都没有?PHP中的布尔表达式?

+0

-1请重新表述您的标题。 – Marcel 2010-05-06 06:13:33

+0

你在做什么/学习/弄清楚什么? – 2010-05-06 06:13:45

+3

即使你知道,那是什么实际用途? – Sarfraz 2010-05-06 06:14:00

回答

5

简单:

的值可以被转换为使用(string)铸造或strval()功能的字符串。 字符串转换自动完成在表达式范围其中需要一个字符串。在使用echo()print()函数时,或者将变量与字符串进行比较时会发生这种情况。

将布尔值TRUE值转换为字符串"1"。布尔FALSE转换为""(空字符串)。这允许在布尔值和字符串值之间来回转换。

http://php.net/manual/en/language.types.string.php#language.types.string.casting

+1

如果我有关于PHP的一个抱怨,那就是在任何时候出现问题的地方它会悄然消失。为什么不能在C++这样的灾难性爆炸中爆炸呢? – 2010-05-06 06:22:18

+0

@Byron激活错误处理 – 2010-05-06 06:23:45

+0

@Byron我不知道这里应该是什么“错误”。这只是打字力量弱而且在玩耍时玩弄类型。学习转换规则,它们是PHP基础知识的一部分,非常简单。 – deceze 2010-05-06 06:24:35