逻辑运算符只是将值进行逻辑运算吗?请看以下代码

先上一段我们项目常用代码,这段代码是平常的搜索列表的sql条件生成的一块,这里是使用运算符这样得到我们想要的结果

 $map = [];!isset($filter->name) || $filter->name !== '' && array_push($map, ['name', 'like', "%{$filter->name}%"]);!isset($filter->full_name) || $filter->full_name !== '' && array_push($map, ['full_name', 'like', "%{$filter->full_name}%"]);!isset($filter->sale_status) || $filter->sale_status !== '' && array_push($map, ['sale_status', '=', $filter->sale_status]);
一般我们是采用在使用if这样的判断语句 去做最终的结果处理
 if (isset($filter->name) && $filter->name !== '') {array_push($map, ['name', 'like', "%{$filter->name}%"]);}

下面我再列个简单案例说明一下

 $a = 1;$b = 2;$c = 0;$c == 0 && $c = $a + $b;echo $c; //3$c = 0;$c == 0 || $c = $a + $b;echo $c;  //0

原理分析

  • 首先我们要知道php的运算是从左到右去进行

  • 这个运算符的运行规则也需要熟悉,就是下表的运算判断需要熟悉不然很容易出问题

  • 注意:逻辑表达式可以是一个表达式、函数,但不能是语句组合或输出语句

运算符 名称 描述 实例
x and y 如果 x 和 y 都为 true,则返回 true x=6
y=3 
(x < 10 and y > 1) 返回 true
x or y 如果 x 和 y 至少有一个为 true,则返回 true x=6
y=3 
(x==6 or y==5) 返回 true
x xor y 异或 如果 x 和 y 有且仅有一个为 true,则返回 true x=6
y=3 
(x==6 xor y==3) 返回 false
x && y 如果 x 和 y 都为 true,则返回 true x=6
y=3
(x < 10 && y > 1) 返回 true
x || y 如果 x 和 y 至少有一个为 true,则返回 true x=6
y=3
(x==5 || y==5) 返回 false
! x 如果 x 不为 true,则返回 true x=6
y=3
!(x==y) 返回 true

总结

上面的例子当然可以通过条件判断语句来实现,现在的情况一 个是减少了代码的量,最主要的是增加了程序的执行效率。掌握这一点的关键就是表达式的运行方向,是从左到右。主要其实还是基础要打好,怎么浪都不怕,掌握好这些运算符规则后,回头看文章头部的案例应该就可以轻易看懂了

php使用逻辑运算符提交程序运行效率相关推荐

  1. 提升CUDA程序运行效率的几个关键点

    目录 1.明确计算机中GPU卡片的计算资源,决定变量的性质(constant,share还是global)以及Grid,Block的维度,充分并合理利用GPU显卡的资源 2.提高PCI接口与GPU显卡 ...

  2. 提高C++程序运行效率的10个简单方法

    本文以C/C++程序为例讲述了程序运行效率的10个简单方法,分享给大家供大家参考之用.具体分析如下: 对于每一个程序员来说,程序的运行效率都是一个值得重视,并为之付出努力的问题.但是程序性能的优化也是 ...

  3. python源码多平台编译_提升Python程序运行效率的6个方法

    Python是一个很酷的语言,因为你可以在很短的时间内利用很少的代码做很多事情.不仅如此,它还能轻松地支持多任务,比如多进程等.Python批评者有时会说Python执行缓慢.本文将尝试介绍6个技巧, ...

  4. 机试评判系统评判提交程序后返回结果详细说明

    本文将对评判系统评判考生提交程序后返回的结果做详细的说明,并且针对不同的返回结果,对可能出现错误的地方作出初步的界定. Accepted (答案正确):你的程序对所有的测试数据都输出了正确的答案,你已 ...

  5. 【如何使用高级语言在机器语言层面提高程序运行效率】

    如何使用高级语言在机器语言层面提高程序运行效率 ==基础编码原则== 利用局部性原理减少过程调用 利用局部性原理消除不必要的内存引用 ==低级优化== 指令级并行 寄存器重命名 循环展开 利用多个累计 ...

  6. 360秒抓取收录批量提交程序

    一.360URL收录提交 批量推送程序截图 二.360URL收录自动提交程序更新记录 2021.6.7更新[V5.4]更新 1.泛目录.泛域名.泛域名目录混合批量推送自动生成推送 2.精简程序配置,移 ...

  7. 域名抢注自动提交程序详解

    随着互联网的普及,域名的价值也逐渐被国人认识.域名投资具有投资少,风险低,回报率高等特点.但并非就是一本万利,他需要投资者具备相关的专业知识,对市场有准确的把握,才能从中获得更多的利益.本文将为大家简 ...

  8. 【Flnik】解决提交程序到flink集群的异常:Could not complete snapshot 3 for operator Source...

    一. 情况描述 之前一直在IDEA中运行Flink程序,程序也都很顺利的跑通.但是当把程序打包发布到集群上运行便遇到了一些情况: bin/flink run -m hadoop102:8081 -c ...

  9. C语言-程序运行效率总结及注意事项

    提升程序的运行效率的方法 空间换取时间(硬件技术的发展 ,内存越来越大,相对大家对效率的要求显著提升) 使用更优秀的算法,例如经常见到的"hash": 谨慎注意每个变量的内存分配( ...

  10. python提高办公效率-提升Python程序运行效率的6个方法

    Python是一个很酷的语言,因为你可以在很短的时间内利用很少的代码做很多事情.不仅如此,它还能轻松地支持多任务,比如多进程等.Python批评者有时会说Python执行缓慢.本文将尝试介绍6个技巧, ...

最新文章

  1. 无法启动程序,因为计算机中丢失msvcp.dll
  2. nginx 源码调试
  3. 如何解决高并发,秒杀问题
  4. Jenkins file一行代码部署.NET程序到K8S
  5. 定时任务 Scheduled quartz
  6. centos7网络环境配置(optenstack环境配置)
  7. pdf expert使用教程:如何在mac上给PDF怎么调整页面顺序
  8. 用matplotlib画sigmoid函数
  9. 数字电路基础知识(二)
  10. 云忧cms搭建在宝塔nginx服务器,登录报错
  11. PS PR AI AE LR AU LR ID 下载资源,简单安装,多种方式下载
  12. 时序逻辑电路的基础知识
  13. 用matlab解决马尔可夫模型,MatLa工具箱b 马尔可夫模型的MatLab程序
  14. 背景色自动切换html,JavaScript实现网页背景自动变色
  15. Java多线程系列--“JUC集合”10之 ConcurrentLinkedQueue
  16. 海外:国外最受欢迎的5个电子邮件服务网站
  17. windows10 安装两台mysql进行主从复制
  18. 使用Office Tool Plus安装office、visio、project等--很实用
  19. 订阅内容解码失败(非base64码)_【每日礼包】超杀默示录 密文解码礼包大全
  20. 电脑桌面app客户端、微信公众号-小程序测试方法

热门文章

  1. 合并mp3 例子代码
  2. 工作站 服务器 监控系统,电网工作站智能安全监控系统的设计与实现
  3. matlab利用dft分析模拟信号频谱,利用DFT分析模拟信号频谱
  4. 购物中心最好的无线AP是什么?
  5. 11.1.4 子线程与主线程通信实例
  6. BOB靶机渗透实战-----攻略(大神勿喷)
  7. Python计算机视觉实验五——针孔照相机模型
  8. 售前技能——寻找客户
  9. 售前技能——自我定位
  10. 2021-04-25 AndroidStudio拖动条_小白龙抄作业