php布尔值's小写AND大写和数字布尔值'可以接受

php boolean's lower AND upper case and numerical boolean's acceptable?

本文关键字:布尔值 数字 AND 小写 php      更新时间:2023-09-26

我在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