【问题标题】:Logic in if statement with numbers PHP带有数字 PHP 的 if 语句中的逻辑
【发布时间】:2016-11-16 08:17:54
【问题描述】:

谁能解释一下这里发生了什么:

if(2 && 5 < 4)

如果我有例子

$x = 2 && 3;

和 var_dump($x) 无论数字是多少,它都会给出 boolean(true)。 但在这里,数字似乎与 4 一一比较。

【问题讨论】:

  • "var_dump($x) 无论数字是多少,它都会给出 boolean(true)" 不,它没有。如果其中一个值为 false,则转储也将为 false。
  • 这里有一些关于发生了什么的信息:php.net/manual/en/language.types.boolean.php

标签: php if-statement logical-operators


【解决方案1】:

查看PHPhttp://php.net/manual/en/types.comparisons.php的PHP对照表

对于整数,0 以外的数字相比较返回 true。

if (2 && 5 < 4) => if (true && false) => false

$x = 2 && 3 = 1 && 1 = 1

因为如果一个变量有一个整数值,由于类型转换,true变成了1。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多