PHP运算符 and 和 && 的区别

AND运算符

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

<?php  // Variable declaration and // initialization $a = 100; $b = 50;  // Check two condition using // AND operator if ($a == 100 and $b == 10)     echo "True"; else     echo "False"; ?> 

运行结果:

False 

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

&&运算符

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

<?php  // Declare a variable and initialize it $a = 100; $b = 10;  // Check the condition if ($a == 100 && pow($b, 2) == $a)     echo "True"; else     echo "False"; ?> 

运行结果:

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 为假,所以 AND 运算结果为假。

AND&& 操作符的比较 – 两种操作符的区别如下:

基于优先级:优先级基本上决定了在表达式中首先执行哪些操作。 &&运算符的优先级高,AND运算符的优先级低。
基于操作:例子如下 –

<?php  // Expression to use && operator $bool = TRUE && FALSE;  // Display the result of && operation echo ($bool ? 'TRUE' : 'FALSE'), "n";  // Expression to use AND operator $bool = TRUE and FALSE;  // Display the result of AND operation echo ($bool ? 'TRUE' : 'FALSE'); ?> 

运行结果:

FALSE TRUE 

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

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

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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/264217.html

(0)
上一篇 2022年6月7日
下一篇 2022年6月7日

相关推荐

发表回复

登录后才能评论