【问题标题】:php boolean's lower AND upper case and numerical boolean's acceptable?php布尔值的小写和大写和数字布尔值可以接受吗?
【发布时间】:2015-04-07 15:09:46
【问题描述】:

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

【问题讨论】:

  • 它们是一样的。 To specify a boolean literal, use the constants TRUE or FALSE. Both are case-insensitive. FIG-3 标准建议使用小写作为标准,但这取决于你
  • FIG-3 代表/意味着什么?
  • 对不起,我的意思是 PSR,FIG 是总称。它是 PSR-2,而不是 3,但无论如何:head here 获取您需要的所有信息 :)
  • 感谢兄弟的帮助;)真的让我很开心。

标签: javascript php html boolean


【解决方案1】:

您可以手动分配一个真值,方法是使用身份运算符 =。

$var = TRUE; // or true, is the same.

无论如何,布尔值是根据您正在考虑的变量的性质自动分配的。例如,如果数值为 0,则为 FALSE,在其他情况下为 TRUE。一个字符串只有在为空时才会为 FALSE。

【讨论】:

  • 很高兴我能帮上忙 ;)
【解决方案2】:

PHP 关于类型松散和布尔转换的规则相当复杂。来自the docs(和 Damien 的评论):To specify a boolean literal, use the constants TRUE or FALSE. Both are case-insensitive.

在页面下方,在“转换为布尔值”标题下,所有数字布尔值、字符串布尔值等规则。我建议您熟悉它们以避免无意行为。直接回答您的问题:是的,支持数字布尔值。和空字符串。并且字符串"0" 也将被视为false

【讨论】:

    猜你喜欢
    • 2011-01-02
    • 1970-01-01
    • 2019-10-15
    • 2015-09-19
    • 2014-10-11
    • 2022-01-16
    • 2023-03-21
    • 2014-01-06
    • 2011-12-31
    相关资源
    最近更新 更多