PHP运算符 and 和 && 的区别

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 运算符和 && 运算符的根本区别在于它们的优先级不同,但它们都执行相同的操作。

—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花