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/tech/pnotes/264217.html