AND运算符

AND运算符称为逻辑运算符。 如果两个操作数均为true,则返回true

示例:

<?php 

$a = 100; 
$b = 50; 

if ($a == 100 and $b == 10) 
    echo "True"; 
else
    echo "False"; 
?>

运行结果:

False

说明:这里需要计算变量$a = 100而另一个变量$b = 10,条件$a == 100的结果为true,而$b == 10的结果也为true。 因此,$a == 100 and $b == 10的计算结果为false,因为AND逻辑指出,如果两个操作数都为true,则结果也为true。 但是当判断$b = 10时,条件为假,因此AND运算结果为false

“&&”运算符

&&运算符称为逻辑运算符。 如果两个操作数均为true,则返回true
示例:

<?php 

$a = 100; 
$b = 10; 

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会升为整数。 102次幂是100,等于$a。 因此,$a == 100 && pow($b,2)== $a的计算结果为true,因为AND逻辑指出,只有当两个操作数都为true时,AND操作结果才为true。 但是当输入$b = 20时,条件pow($ b,2)== $a为假,因此AND运算结果为假。

AND&&运算符之间的比较:下面列出了两个运算符之间的一些区别:

基于优先级:优先级基本上决定了在表达式中首先执行哪些操作。&&运算符的优先级高,而AND运算符的优先级低。

示例:

<?php 


$bool = TRUE && FALSE; 


echo ($bool ? 'TRUE' : 'FALSE'), ""; 

$bool = TRUE and FALSE; 

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运算符和&&运算符的根本区别是它们的优先级差异,但是两者都执行相同的运算。

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.hasdiffer.com]
本文标题:PHP AND和&&的区别
本文链接:http://www.vsdiffer.com/and-vs-as-operator-in-php.html
免责声明:本站部分内容除注明转载外,均为本站网站用户投稿或互联网整理。对于该内容的正确性如何,本站不负任何责任。同时,如本网站内容无意之中冒犯了您的权益,请联系站长,邮箱:1478761107#qq.com(使用@代替#),我们核实并会尽快处理。

相关主题

随机