In PHP, "and" and "&&" are both used as logical operators and perform the same operation. So what is the difference between them? This article will give you a brief introduction to the operators "and" and "&&" so that you can understand the difference between the operators "and" and "&&". I hope it will be helpful to you.
"and" operator
In the "and" operator, if two If both operands are true, return true; if one of the operands is false, return false. Example:
<?php // 变量声明和初始化 $a = 100; $b = 10; //使用"and"运算符 if ($a == 100 and $b == 10) echo "结果为:true"; else echo "结果为:false"; ?>
Output:
Description:
Since variable $a = 100 and another variable $b = 10, the condition $a == 100 evaluates to true, while $b == 10 evaluates to true. Because the and logic says that the result is only true if both operands are true; therefore, '$a == 100 and $b == 10' evaluate to true.
But when $b = 20 is input, the condition $b == 10 will be false, so the AND operation result will be false.
"&&" operator
In the "&&" operator, if both operands are true, true will be returned. ;If one is false, return false. Example:
<?php // 声明变量并初始化它 $a = 100; $b = 10; // 使用 if ($a == 100 && pow($b, 2) == $a) echo "结果为:true"; else echo "结果为:false"; ?>
Output:
Description:
Since variable $a = 100 and another variable $b = 10, the condition $a == 100 evaluates to true, and pow($b,2) == $a also evaluates to true, because $b = 10 raised to the power of 2 is 100, which is equal to $a.
And logic indicates that the result of the AND operation is true only when both operands are true. So the expression '$a == 100 && pow($b, 2) == $a' evaluates to true.
But when $b = 20, the result of the condition pow ($b, 2) == $a is false, so the result of the and operation will become false.
A simple comparison between operators "and" and "&&"
There are some differences between operators "and" and "&&" Difference: The "&&" operator has high precedence, while the "and" operator has low precedence.
Description: Priority basically determines which operations are performed first in an expression.
Let’s take a look at the differences between operators "and" and "&&" through a simple code example.
<?php // 在表达式中使用&&运算符 $bool = true && false; // 显示&&运算符的运算结果 echo "&&运算符的结果为:"; echo ($bool ? 'true' : 'false'), "<br><br>"; // 在表达式中使用and运算符 $bool = true and false; // 显示and运算符的运算结果 echo "and运算符的结果为:"; echo ($bool ? 'true' : 'false'); ?>
Output:
We also found that when the operands of the two operators are the same, their operation results are different. Why?
Because the "&&" operator has a higher priority than the "=" operator; and the "and" operator has a lower priority than the "=" operator.
In the first expression "$bool = true && false", first calculate true && false, the calculation result is false, and then assign this result to $bool; therefore, the value of $bool is : false.
In the second expression "$bool = true and false", first execute "$bool = true", at which time the value of $bool is true; then execute "$bool and false". Because the "and" operation is performed internally but not allocated, the value of $bool is still true.
Summary: The fundamental difference between the PHP operators "and" and "&&" lies in their priority difference; the above is the entire content of this article, I hope it can be helpful to everyone's learning helped.
The above is the detailed content of Simple comparison of PHP operators 'and' and '&&'. For more information, please follow other related articles on the PHP Chinese website!