📌  相关文章
📜  'AND' vs '&&' 作为PHP的运算符

📅  最后修改于: 2021-09-11 04:03:33             🧑  作者: Mango

“与”运算符

AND运算符称为逻辑运算符。如果两个操作数都为真,则返回真。
例子:


输出:
False

解释:由于变量 $a = 100 和另一个变量 $b = 10,条件 $a == 100 的计算结果为真,$b == 10 的计算结果也为真。因此,’$a == 100 和 $b == 10′ 的计算结果为真,因为 AND 逻辑指出,如果两个操作数都为真,则结果也为真。但是当输入$b = 20时,条件$b == 10为假,所以AND运算结果为假。

‘&&’ 操作员

&&运算符称为逻辑运算符。如果两个操作数都为真,则返回真。
例子:


输出:
True

解释:由于变量 $a = 100 和另一个变量 $b = 10,条件 $a == 100 的计算结果为真,而 pow($b, 2) == $a 也计算为真,因为 $b = 10 提高到2 的幂是 100,等于 $a。因此, ‘$a == 100 && pow($b, 2) == $a’ 评估为真,因为 AND 逻辑指出,只有当两个操作数都为真时,AND 运算结果才为真。但是当输入$b = 20时,条件pow($b, 2) == $a为false,所以AND运算结果为false。

‘AND’ 和 ;&&’运算符之间的比较:下面列出了两个运算符之间的一些区别:

  • 基于优先级:优先级基本上决定了在表达式中首先执行哪些操作。 ‘&&’运算符的优先级高,’AND’运算符的优先级低。
  • 基于操作:
    例子:
    
    
    输出:
    FALSE
    TRUE
    

    解释:
    只要操作数相同,两个运算符的结果就会不同。第一个表达式的计算结果为FALSE,而第二个表达式的计算结果为TRUE,即使两者都使用相同的操作。

    • 第一个表达式, $bool = TRUE && FALSE;计算结果为FALSE,因为首先执行 && 操作,然后将结果分配给变量 $bool 因为 &&运算符的优先级高于 = 的优先级。
    • 第二个表达式, $bool = TRUE and FALSE;计算结果为TRUE,因为运算符“and”的优先级低于运算符“=”,因此将 = 右侧的值 TRUE 分配给 $bool,然后在内部执行“and”操作但未分配,因此$bool 现在为 TRUE。

    所以解释一下,AND运算符和 &&运算符的根本区别在于它们的优先级不同,但两者都执行相同的操作。