PHP中AND和&&操作符区别
AND运算符
AND运算符称为逻辑运算符。如果两个操作数都为真,则返回真。
示例:
<?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的计算结果为true,b == 10的计算结果也为true。因此,’ a == 100和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的计算结果为true, pow(b, 2) == a也计算结果为true,因为b = 10的2次方等于100,即a。因此,’a == 100 && pow(b, 2) ==a ‘在AND逻辑上计算为真,只有当两个操作数都为真时,AND操作结果才为真。但当输入b = 20时,条件pow(b, 2) == $a为假,因此AND操作结果为假。
AND运算符和;&&运算符的比较:下面列出了这两个运算符的一些区别:
- 基于优先级:优先级基本上决定表达式中首先执行哪些操作。’ && ‘操作符的优先级高,而’AND’操作符的优先级低。
-
基于操作:
例子:
“`php解释:
当操作数相同时,两个操作符的结果是不同的。第一个表达式的计算结果为FALSE,而第二个表达式的计算结果为TRUE,即使两者使用相同的操作。
- 第一个表达式bool= TRUE && FALSE;计算结果为FALSE,因为首先执行了&&操作,然后赋给变量bool的结果,因为&&操作符的优先级高于=的优先级。
- 第二个表达式,bool= TRUE和FALSE;运算符“and”的优先级低于运算符“=”,因此将=右边的值“TRUE”赋给bool,然后内部执行“and”操作,但没有赋值,因此$bool现在保持为TRUE。
说明一下、运算符和&&运算符的根本区别在于它们的优先级不同但它们执行的是相同的操作。