php逻辑运算符 和and,PHP运算符"and"和“&&”的简单比较

在PHP中,"and"和“&&”都是作为逻辑运算符来使用的,执行相同的操作,那么它们之间有什么差别?本篇文章给大家简单介绍一下运算符"and"和“&&”,让大家了解运算符"and"和“&&”之间的区别,希望对大家有所帮助。

9d10107bc99ba5e91c9e3cc836cccd2f.png

"and"运算符

在"and"运算符中如果两个操作数均为true,则返回true;如果有一个为false,则返回false。例:<?php

// 变量声明和初始化

$a = 100;

$b = 10;

//使用"and"运算符

if ($a == 100 and $b == 10)

echo "结果为:true";

else

echo "结果为:false";

?>

输出:

2805a81b250cc1d52b31cd2d5bd18308.png

说明:

由于变量$ a = 100而另一个变量$ b = 10,条件$ a == 100的计算结果为true,而$ b == 10的计算结果为true。因为and逻辑表明如果两个操作数均为true,则结果才为true;因此,'$ a == 100和$ b == 10'的计算结果为true。

但是当输入$ b = 20时,条件$ b == 10就会为false,因此AND运算结果将为false。

"&&”运算符

在"&&”运算符中,同样如果两个操作数均为true,则返回true;如果有一个为false,则返回false。例:<?php

// 声明变量并初始化它

$a = 100;

$b = 10;

// 使用

if ($a == 100 && pow($b, 2) == $a)

echo "结果为:true";

else

echo "结果为:false";

?>

输出:

c4b55eb203c3c048d0df3c37902ae254.png

说明:

由于变量$ a = 100而另一个变量$ b = 10,条件$ a == 100的计算结果为true,而pow($ b,2)== $ a的计算结果也为true,因为$ b = 10被提升到2的幂是100,等于$ a。

and逻辑表明只有当两个操作数都为true时,and运算结果才为true。因此表达式'$ a == 100 && pow($ b,2)== $ a'的计算结果为true。

但是当$ b = 20时,条件pow($ b,2)== $ a的结果为false,这样and运算的结果就会变为false。

运算符"and"和“&&”的简单比较

运算符"and"和“&&”之间是存在一些差异:“&&”运算符的优先级高,而"and"运算符的优先级低。

说明:优先级基本上决定了在表达式中首先执行哪些操作。

下面我们通过简单的代码示例来看看运算符"and"和“&&”的差异。<?php

// 在表达式中使用&&运算符

$bool = true && false;

// 显示&&运算符的运算结果

echo "&&运算符的结果为:";

echo ($bool ? 'true' : 'false'), "
";

// 在表达式中使用and运算符

$bool = true and false;

// 显示and运算符的运算结果

echo "and运算符的结果为:";

echo ($bool ? 'true' : 'false');

?>

输出:

3ffe32c6303e27cf75131657cff6821b.png

我们还发现,两个运算符的操作数相同时,但它们的运算结果却是不一样的,这是为什么?

因为,"&&"运算符的优先级高于"="运算符的优先级;而“and”的优先级低于运算符“=”。

在第一个表达式“$bool = true && false”中,首先计算true && false,计算结果为false,然后把这个结果赋值给了$bool ;因此,$bool 的值为:false。

在第二个表达式“$bool = true and false”中,首先是执行“$bool = true”,此时$bool的值为true;然后执行“$bool and false”。因为“and ”操作虽然在内部执行了但未分配,因此$ bool的值依然为true。

总结:PHP运算符"and"和“&&”的根本区别在于它们的优先级差异;以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值