我在PHP中有这行代码:
if($connect->query("INSERT INTO users (last_login) VALUES ('$now')") === TRUE) ...
和这条线。
return true;
我注意到PHP布尔值有时是大写的,有时是小写的。
为什么会这样?
我应该用一个来提高性能吗?
它们会产生不同的结果吗?
如果是,有什么区别?
在PHP中可以接受数字布尔值吗?因为在JavaScript中,布尔值可以是0和1。
IE在JavaScript中,你可以做:
if(0) ... // false
if(1) ... // true
您可以手动分配一个真值,方法是使用identity运算符=进行声明。
$var = TRUE; // or true, is the same.
无论如何,布尔值是根据您考虑的变量的性质自动分配的。例如,如果数值为0,则为FALSE;在其他情况下,则为TRUE。字符串如果为空,则为FALSE。
PHP关于类型松散和布尔转换的规则相当复杂。来自文档(以及Damien的评论):To specify a boolean literal, use the constants TRUE or FALSE. Both are case-insensitive.
再往下看,在"转换为布尔值"标题下,是数字布尔值、字符串布尔值等的所有规则。我建议您熟悉它们,以避免无意的行为。直接回答您的问题:是的,支持数字布尔值。还有空字符串。并且字符串"0"
也将被计数为false
。