逻辑运算符无非是将值进行逻辑运算。还有其它用法吗?首先让我们先看一下下面的代码,然后我们再一起展开话题。提前给出结论就是(&&)or(||)”这两种运算符在程序中可以加快PHP代码的运行速度。

  首先,我给出一段代码:

<?php   $test="李四";   $test=="张三"&&$test="张三来了";   echo $test;  //输出“李四”   $test="李四";   $test=="张三"||$test="张三不在这里";   echo $test;  //输出“张三不在这里”
?>   

  为什么会产生这样的结果呢?如果按照平常的方法,我们最少要用个IF语句来判断。可现在只是两个逻辑运算就会把变量的值给改变了。下面我们来分析一下它的运行原理。

   在参与逻辑运算的两边表达式中,是按照从左到右顺序进行运算的。而“与”运算中只要有一个是假,整个表达式的结果为假。所以,当左边表达式为假时,就无 需再进行运算了。这样的处理无疑对程序的运行效率是大有好处的。所以说正如题目所说,是一种高效的用法。而逻辑或就不同了:只要一个为真那整个表达式就为 真。所以,在左边为假的情况下,还要运行右边的表达式判断。明白或理解了上面所说,也就对结果不感到奇怪了。

上面的例子当然可以通过条件判断语句来实现,现在的情况一 个是减少了代码的量,最主要的是增加了程序的执行效率。掌握这一点的关键就是表达式的运行方向,是从左到右。当第一个值决定整个表达式的值时就会停止运 行。值得说明的是右边可以是一个表达式,也可以是一个函数,但不能是一系列的语句组合或输出语句。毕竟它还是逻辑表达式的一个组成部分。

最后,我们做以下总结:
对于“与”(&&) 运算: x && yxfalse时,直接跳过,不执行y
对于“或”(||) 运算 :   x||yxtrue时,直接跳过,不执行y

最后,一起总结就是反之亦然。

来源:http://www.365testing.com/HTML/kaifa/PHP/PHPjichu/2010_1225_10471.html

PHP中逻辑运算符的高效用法---和||相关推荐

  1. php中条件查询语句,thinkphp3.2框架中where条件查询用法总结

    本文实例讲述了thinkphp3.2框架中where条件查询用法.分享给大家供大家参考,具体如下: thinkphp3.2 where 条件查询 在连贯操作中条件where的操作有时候自己很晕,所以整 ...

  2. html dom createevent,js 中 document.createEvent的用法

    js 中 document.createEvent的用法 更新时间:2010年08月29日 23:22:02   作者: 用该方法创建了 Event 对象以后,必须用上表中所示的初始化方法初始化对象. ...

  3. 3rd 逻辑运算符的基本用法

    03.01_Java语言基础(逻辑运算符的基本用法)(掌握) A:逻辑运算符有哪些 &,|,^,! &&,|| B:案例演示 逻辑运算符的基本用法 注意事项: a:逻辑运算符一 ...

  4. onenote快捷键_onenote快捷键的高效用法

    onenote快捷键的高效用法 | 斯想​cas01.com onenote为很多常用功能配置了快捷键,熟练掌握这些快捷键,必将大大提高使用onenote的效率. 快捷键等于高效 其实不仅仅是onen ...

  5. Linux 下 lsof 命令的几个高效用法

    Linux 下 lsof 命令的几个高效用法_yg@hunter的博客-CSDN博客lsof命令查看进程打开的文件,文件被哪些进程打开等等,本文列举几个实际例子看下lsof的妙用.https://bl ...

  6. el表达式ne什么意思_JSP中EL表达式的用法详解(必看篇)

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...

  7. python中struct.unpack的用法

    python中struct.unpack的用法 4/25/2009 12:18:21 PM Python中按一定的格式取出某字符串中的子字符串,使用struck.unpack是非常高效的. 1. 设置 ...

  8. Excel表格中替换的高级用法

    Excel表格中替换的高级用法 目录 Excel表格中替换的高级用法 1.例如:将F列中合格替换为不合格 2. 在[开始]选项卡中,找到[替换]点击,在查找内容中输入[合格]替换为中输入[不合格],勾 ...

  9. lambda在python_在Python中使用lambda高效操作列表的教程

    介绍 lambda Python用于支持将函数赋值给变量的一个操作符 默认是返回的,所以不用再加return关键字,不然会报错 result = lambda x: x * x result(2) # ...

最新文章

  1. RequireJs入门(一)
  2. 列名或所提供值的数目与表定义不匹配_关于功放与音箱的功率如何匹配
  3. qt和python关系_Python与Qt - AlphaJay的个人空间 - OSCHINA - 中文开源技术交流社区
  4. 创新!谷歌大改Transformer注意力
  5. 谈谈应届生应聘的一点看法
  6. HDU1215 七夕节【水题】
  7. HTML5 Canvas JavaScript库 Fabric.js 使用经验
  8. Smack Extensions用户手册
  9. Office 超级录屏如何旋转视频90度之后保存
  10. 极客大学架构师训练营 组件设计原则 安全架构 防火墙ModSecurity 第21课 听课总结
  11. linux 编码转换iconv命令
  12. 北理工网络安全导论作业:DES算法
  13. Cocos2dx开发手机游戏工具集(持续更新)
  14. Linux三剑客之awk最佳实践
  15. 华云大咖说 | 华云数据与数科网维携手共建国产云生态
  16. latexstudio编译报错问题:无法启动buildview:Xelatex:xelatex.exe -synctex=1 -interacion=nonstopmode
  17. 支付宝支付异步回调成功,页面跳转问题
  18. 数商云:竞争优势的来源 ——全渠道物流服务生态系统
  19. android 解锁屏幕
  20. 【springcloud gateway诡异间歇性500异常解决】500 Server Error,ConcurrentModificationException: null

热门文章

  1. 昆虫繁殖(信息学奥赛一本通-T1312)
  2. 统计天数(洛谷-P1567)
  3. 信息学奥赛C++语言: 计算两个数的最大公约数
  4. 信息学奥赛一本通C++语言——1078:求分数序列和
  5. 12 FI配置-财务会计-分配会计核算原理至分类帐组
  6. python rs232_使用Python進行RS-232通信返回垃圾信息
  7. jQuery的实现原理
  8. sql查询出的字段切割_SPL 简化 SQL 案例详解:多层固定分组
  9. 百度统计:网站统计实时访客报告
  10. VSCode 如何调出代码比照界面(前后对比)