章节
问答
课签
笔记
评论
占位
占位

PHP中的逻辑运算符

逻辑运算符主用是进行逻辑运算的,例如:逻辑与、逻辑或、逻辑异或、逻辑非等,在PHP中常用的逻辑运算符如下表:(点击看大图)

我们可以从投票的角度来理解逻辑运算:

1、逻辑与:要求所有人都投票同意,才会通过某协议;

2、逻辑或:只要求一个人投票同意就行;

3、逻辑异或:只能有且只能有一个人投票同意;

4、逻辑非:某个人要反对,但是通过逻辑非,使其反对无效;

“与”和“或”有两种不同形式运算符的原因是它们运算的优先级(就是运算的有限顺序,比如我们小学的时候学习四则运算,加减乘除混合在一起啦,优先计算乘除,再计算加减)不同。

任务

我来试一试:大家来投票吧!

我们假设有A、B、C、D进行了投票,然后我们用逻辑运算符,来判定他们的投票是否能通过某些协议。在右边编辑器中输入六条指令,分别是第7行,第9行,第11行,第13行,第15行,第17行,如下图所示:(点击看大图)

其中第7行,第9行,第11行需要括号括起来,因为这三个逻辑运算符的优先级没有三元运算符高。运行结果如下:

?不会了怎么办

1、三元运算符中的“:”是英文字符哦;

2、检查一下第7行,第9行,第11行用括号了吗;

3、这六种逻辑运算符你都写对了嘛?

||
1
2
<?php
$a = TRUE;
       //A
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / WYQS
运算顺序: echo (true xor true xor true xor false)?"true":"false"; true xor true --》false;false(true xor true)xor true --》true;true(true xor true) xor false --》 true;

已采纳回答 / qq_Eye_4
逻辑与:比如你们班选班长其他同学都同意了你当班长,你不就成功了吗。  and  和 && 逻辑或:你和你对象出去吃饭,你们俩随便一个找地方就行了。or  或 ||逻辑异或:你给朋友买东西你同意,但是你对象一定不同意你买。 xor逻辑非:就是他不对,但他是对的。     !

已采纳回答 / 慕圣3206314
要用and的话要括号起来&&,如果用这个就不要

最赞回答 / 慕田峪4096734
a的结果一定是boolean类型,b和c的类型任意

最赞回答 / qq_long妹_0
echo ($a and $b)?"通过":"不通过";    加了括号,则先算括号里的,再进行三元运算符的计算,最后输出的结果为“通过”;echo $a and $b?"通过":"不通过";     这一句没有加括号,则先算$b?"通过":"不通过"这一部分,运算结果为“通过”,然后再跟$a进行逻辑运算,最后输出的结果为“1”.导致输出结果不同的原因在于,and这个运算符的优先级比三元运算符要低。

最新回答 / 慕的地5279483
    echo ($a xor $c xor $d)?"通过":"不通过";  原来的代码不是这样的么  $a 为同意 $b $c为不同意 仅有一个同意 输出为 通过1 1 1 0 若 1 为 同意 则结果为 不通过若 1 为不同意 则结果为 通过

最新回答 / 加油54
echo ($a and $b)?"通过":"不通过"; echo "<br />"; echo ($a or $b)>"通过":"不通过"; echo "<br />"; echo ($a xor $c Xor $d)?"通过":"不通过"; echo "<br />"; echo !$c?"通过":"不通过"; echo "<br />"; echo $a && $b?"通过":"不通过"; echo "<br />"...

已采纳回答 / qq_一颗心_2
$a and $b  (a与b)想这样的

最新回答 / zxscdn
已解决,这里理解错误了,!==是“非全等“不是”不全等“,都相等时为false

已采纳回答 / 仔柯
你的换行符是写在三元判断里边的,所以就没有了效果。单独写出来

已采纳回答 / Blurth
 效果 一样的

已采纳回答 / 安妮的奇幻仙境
我觉得你这样写是不妥的你应该有一个变量去接收结果,然后再输出,例如:$x=$a and $b?"通过":"不通过";echo $x;类似这种表达

已采纳回答 / frankfa
$a = 1; //A反对 $b = 0; //B同意 $c= $a and $b?"通过":"不通过"; var_dump($c);运行结果:int(1)你的echo $a and $b?"通过":"不通过"; 应该为echo ($a and $b)?"通过":"不通过"; 
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言