• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php逻辑操作符中&跟&&的异同

php 搞代码 4年前 (2022-01-24) 24次浏览 已收录 0个评论

php逻辑操作符中&和&&的异同

php有5种算术操作符(+ – * / %),6种赋值操作符(+= -= *= /= %= .=),8种比较操作符(=== = != !==),6种的逻辑操作符(如&&、 ||、 &、 |、 ! 。其中逻辑与&可写成and,逻辑或|写成or),以及一些其他操作符(错误控制操作符@、 执行操作符反引号”–不是单引号、字符串操作符.与.=、递增/递减操作符++/–、三元操作符?:)。

关于操作符优先级,可以参考相关文档。

php中&和&&的异同

<?php$a=10;if($a>4 && (++$a>10)){}//输出结果为11.echo $a;?><?php$a=10;if($a>4 and (++$a>10)){}//输出结果为11.echo $a;?>**************************************************************<?php$a=10;if($a>4 && (++$a<?php$a=10;if($a>4 & (++$a*********************************************************<?php$a=10;if($a10)){}//输出结果为10.echo $a;?><?php$a=10;if($a10)){}//输出结果为11.echo $a;?>*******************************************************************<?php$a=10;if($a<4 && (++$a<?php$a=10;if($a<4 & (++$a*******************************************************************<?php// 下面的 sktest() 不被调用,原因是它们被运算符“短路”。$a = (false && sktest());$b = (true  || sktest());$c = (false and sktest());$d = (true  or  sktest());// "||" 的优先级比 "or" 高$e = false || tru9来源gaodai#ma#com搞@代~码$网搞gaodaima代码e; // $e 被赋值为 (false || true),结果为 true$f = false or true; // $f 被赋值为 false [Altair注:"=" 的优先级比 "or" 高]var_dump($e, $f);// "&&" 的优先级比 "and" 高$g = true && false; // $g 被赋值为 (true && false),结果为 false$h = true and false; // $h 被赋值为 true [Altair注:"=" 的优先级比 "and" 高]var_dump($g, $h);?>

表达式一$a && $b ,表达式二$a & $b

1、相同点:两个表达式都是当$a、$b都为true时,表达式为真。两种运算符对此表达式结果没有影响。

2、不同点:表达式$a && $b中&&前面的$a为false时,已确定表达式为假,此时逻辑操作符&&后的$b不再进行计算,即所谓的被运算符“短路”了。而对于表达式$a & $b,不论&前的$a真假,表达式后的$b依然要进行计算。逻辑操作符后的$b是否被运行,可能影响到后面的数据和程序结果。

对于逻辑操作符||和|,异同同上。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php逻辑操作符中&跟&&的异同

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址