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