PHP中“ &&”和“ AND”运算符之间的比较。
PHP提供了令人难以置信的运算符来执行诸如算术,赋值,比较等操作……在本文中,将更加重视逻辑运算符“&&”和“AND”,并将研究如何根据其运算符来利用它们。优先。逻辑运算符“&&”和“AND”会产生对或错的结果,因此也称为布尔运算符。
在深入探讨之前,让我们学习什么是“AND”运算符?当且仅当两个条件都为真时,“AND”运算符才返回true。让我们以一个示例来演示“AND”运算符。
示例
<?php $val1 = 20; $val2 = 50; if ($val1 == 20 and $val2== 50) echo "True"; else echo "False"; ?>
输出:
True
说明:
由于变量$val1=20和$val2=50,因此条件$val1==20评估为true,而$val2==50评估为true。因此,两个操作数都为真,结果也为真。让我们讨论另一个示例。
范例2:
<?php $a = 30; $b = 50; if ($a == 30 and $b == 10) echo "True"; else echo "False"; ?>
输出:
False
说明:
因为我们已经声明了变量$a=30和$b=50,所以条件$a==30的计算结果为true,但是当声明中的输入$b=50且条件$b==10时返回false,因此AND运算结果为假。
现在谈到“&&”运算符,它也与“AND”运算符相同,如果条件/操作数在表达式中都为真,则返回真。现在让我们看一下下面的示例,该示例实现了“&&”运算符。
例:
<?php $val1 = 25; $val2 = 5; if ($val1 == 25 && pow($val2, 2) == $val1) echo "True"; else echo "False"; ?>
输出:
True
说明:
由于变量$val1=25和$val2=5,因此条件$val1==25评估为true,并且pow($val2,2)==$val1同样评估为true,因为$val2=5的乘方为2的幂25,等于$val1。因此,“$val1==25&&pow($val2,2)==$val1”的计算结果为true,因为AND逻辑指出,只有当两个操作数都为true时,AND操作结果才为true。
注意:
让我们考虑另一种情况,如果我们声明输入$val2=20,则条件pow($val2,2)==$val1的结果为false,因此AND运算结果为false。
现在根据优先级讨论“AND”和“&&”运算符之间的比较。根据表达式中运算符的优先级执行操作。“&&”运算符的优先级高,而“AND”运算符的优先级低。让我们通过以下示例研究上述差异。
<?php $a =10; $b = NULL; $val = $a && $b; echo ($val ? 'TRUE' : 'FALSE'),"\n"; $val = $a and $b; echo ($val ? 'TRUE' : 'FALSE'); ?>
输出:
FALSE TRUE
说明:
只要操作数相同,两个运算符的结果就不同。尽管第一个表达式都使用相似的活动,但第一个表达式则表达为FALSE,而第二个表达式则表达为TRUE。
第一个表达式$val=$a&&$b;因为首先执行“&&”运算,所以表达为FALSE,然后将结果分配给变量$val,因为&&运算符的优先级高于“=”运算符的优先级。
第二个表达式$bool=$a和$b;计算结果为TRUE,因为运算符“和”的优先级低于运算符“=”,因此将变量$a=10(位于=右边)的值赋给$val,因此$val保留10,然后“和”“操作是在内部执行的,但未分配,因此$val现在保持TRUE。
因此需要澄清的是,“AND”运算符和“&&”运算符之间的主要区别在于它们的优先级,但是两者都执行类似的活动。