AND运算符
AND
运算符称为逻辑运算符。 如果两个操作数都为 TRUE
,则返回 TRUE
。
<?php
// Variable declaration and
// initialization
a = 100;b = 50;
// Check two condition using
// AND operator
if (a == 100 andb == 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
运算符和 &&
运算符的根本区别在于它们的优先级不同,但它们都执行相同的操作。