php逻辑操作符中&和&&的异同
来源:互联网 发布:视频录播软件 编辑:程序博客网 时间:2024/06/05 20:13
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<10)){}//输出结果为11.echo $a;?><?php$a=10;if($a>4 & (++$a<10)){}//输出结果为11.echo $a;?>*********************************************************<?php$a=10;if($a<4 && (++$a>10)){}//输出结果为10.echo $a;?><?php$a=10;if($a<4 & (++$a>10)){}//输出结果为11.echo $a;?>*******************************************************************<?php$a=10;if($a<4 && (++$a<10)){}//输出结果为10.echo $a;?><?php$a=10;if($a<4 & (++$a<10)){}//输出结果为11.echo $a;?>*******************************************************************<?php// 下面的 sktest() 不被调用,原因是它们被运算符“短路”。$a = (false && sktest());$b = (true || sktest());$c = (false and sktest());$d = (true or sktest());// "||" 的优先级比 "or" 高$e = false || true; // $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是否被运行,可能影响到后面的数据和程序结果。对于逻辑操作符||和|,异同同上。
- php逻辑操作符中&和&&的异同
- php中逻辑操作符&和&&的异同
- PHP三元操作符 ?:和?? 的异同
- php 中include()和require()的异同
- php中php://input、$_POST和$HTTP_RAW_POST_DATA的异同
- 命题逻辑和谓词逻辑的异同
- PHP逻辑操作符
- Java和PHP的异同
- java中新增的逻辑操作符"^"
- Shell中[和[[的异同
- java中&和&&的异同
- Shell中[和[[的异同
- Shell中 [ 和 [[ 的异同
- new 修饰符和 new 操作符的异同
- 操作符new 和函数malloc()的异同及其用法
- PHP中逻辑或||和位运算符或的区别和使用注意事项
- 浅谈Java和PHP的异同
- php进阶:session和cookie的异同
- 11g R2 RAC客户端负载均衡配置
- 谷歌浏览器打不开12306
- ubuntu 中软件重新安装卸载等操作
- [LeetCode] 3Sum
- UILabel 根据文字长度自动调整
- php逻辑操作符中&和&&的异同
- 动态规划解题法
- 喝水老呛的原因及。。。
- linux-0.11调试教程,mkfs.c源代码分析(3)
- JS作用域链(转载)
- building bootloader and kernel for pandaboard
- [LeetCode] 3Sum Closest
- hive 0.10.0 杂记
- Hoj 1288 Bridging Signals