PHP中逻辑运算符的高效用法---和||
逻辑运算符无非是将值进行逻辑运算。还有其它用法吗?首先让我们先看一下下面的代码,然后我们再一起展开话题。提前给出结论就是(&&)or(||)”这两种运算符在程序中可以加快PHP代码的运行速度。
首先,我给出一段代码:
<?php $test="李四"; $test=="张三"&&$test="张三来了"; echo $test; //输出“李四” $test="李四"; $test=="张三"||$test="张三不在这里"; echo $test; //输出“张三不在这里”
?>
为什么会产生这样的结果呢?如果按照平常的方法,我们最少要用个IF语句来判断。可现在只是两个逻辑运算就会把变量的值给改变了。下面我们来分析一下它的运行原理。
在参与逻辑运算的两边表达式中,是按照从左到右顺序进行运算的。而“与”运算中只要有一个是假,整个表达式的结果为假。所以,当左边表达式为假时,就无 需再进行运算了。这样的处理无疑对程序的运行效率是大有好处的。所以说正如题目所说,是一种高效的用法。而逻辑或就不同了:只要一个为真那整个表达式就为 真。所以,在左边为假的情况下,还要运行右边的表达式判断。明白或理解了上面所说,也就对结果不感到奇怪了。
上面的例子当然可以通过条件判断语句来实现,现在的情况一 个是减少了代码的量,最主要的是增加了程序的执行效率。掌握这一点的关键就是表达式的运行方向,是从左到右。当第一个值决定整个表达式的值时就会停止运 行。值得说明的是右边可以是一个表达式,也可以是一个函数,但不能是一系列的语句组合或输出语句。毕竟它还是逻辑表达式的一个组成部分。
最后,我们做以下总结:
对于“与”(&&) 运算: x && y 当x为false时,直接跳过,不执行y;
对于“或”(||) 运算 : x||y 当x为true时,直接跳过,不执行y。
最后,一起总结就是反之亦然。
来源:http://www.365testing.com/HTML/kaifa/PHP/PHPjichu/2010_1225_10471.html
PHP中逻辑运算符的高效用法---和||相关推荐
- php中条件查询语句,thinkphp3.2框架中where条件查询用法总结
本文实例讲述了thinkphp3.2框架中where条件查询用法.分享给大家供大家参考,具体如下: thinkphp3.2 where 条件查询 在连贯操作中条件where的操作有时候自己很晕,所以整 ...
- html dom createevent,js 中 document.createEvent的用法
js 中 document.createEvent的用法 更新时间:2010年08月29日 23:22:02 作者: 用该方法创建了 Event 对象以后,必须用上表中所示的初始化方法初始化对象. ...
- 3rd 逻辑运算符的基本用法
03.01_Java语言基础(逻辑运算符的基本用法)(掌握) A:逻辑运算符有哪些 &,|,^,! &&,|| B:案例演示 逻辑运算符的基本用法 注意事项: a:逻辑运算符一 ...
- onenote快捷键_onenote快捷键的高效用法
onenote快捷键的高效用法 | 斯想cas01.com onenote为很多常用功能配置了快捷键,熟练掌握这些快捷键,必将大大提高使用onenote的效率. 快捷键等于高效 其实不仅仅是onen ...
- Linux 下 lsof 命令的几个高效用法
Linux 下 lsof 命令的几个高效用法_yg@hunter的博客-CSDN博客lsof命令查看进程打开的文件,文件被哪些进程打开等等,本文列举几个实际例子看下lsof的妙用.https://bl ...
- el表达式ne什么意思_JSP中EL表达式的用法详解(必看篇)
EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...
- python中struct.unpack的用法
python中struct.unpack的用法 4/25/2009 12:18:21 PM Python中按一定的格式取出某字符串中的子字符串,使用struck.unpack是非常高效的. 1. 设置 ...
- Excel表格中替换的高级用法
Excel表格中替换的高级用法 目录 Excel表格中替换的高级用法 1.例如:将F列中合格替换为不合格 2. 在[开始]选项卡中,找到[替换]点击,在查找内容中输入[合格]替换为中输入[不合格],勾 ...
- lambda在python_在Python中使用lambda高效操作列表的教程
介绍 lambda Python用于支持将函数赋值给变量的一个操作符 默认是返回的,所以不用再加return关键字,不然会报错 result = lambda x: x * x result(2) # ...
最新文章
- RequireJs入门(一)
- 列名或所提供值的数目与表定义不匹配_关于功放与音箱的功率如何匹配
- qt和python关系_Python与Qt - AlphaJay的个人空间 - OSCHINA - 中文开源技术交流社区
- 创新!谷歌大改Transformer注意力
- 谈谈应届生应聘的一点看法
- HDU1215 七夕节【水题】
- HTML5 Canvas JavaScript库 Fabric.js 使用经验
- Smack Extensions用户手册
- Office 超级录屏如何旋转视频90度之后保存
- 极客大学架构师训练营 组件设计原则 安全架构 防火墙ModSecurity 第21课 听课总结
- linux 编码转换iconv命令
- 北理工网络安全导论作业:DES算法
- Cocos2dx开发手机游戏工具集(持续更新)
- Linux三剑客之awk最佳实践
- 华云大咖说 | 华云数据与数科网维携手共建国产云生态
- latexstudio编译报错问题:无法启动buildview:Xelatex:xelatex.exe -synctex=1 -interacion=nonstopmode
- 支付宝支付异步回调成功,页面跳转问题
- 数商云:竞争优势的来源 ——全渠道物流服务生态系统
- android 解锁屏幕
- 【springcloud gateway诡异间歇性500异常解决】500 Server Error,ConcurrentModificationException: null