最近在做一个项目, 看到有同事把我的if代码改掉了。如下:

if($x == 1){
}改成if(1 == $x){
}

个人感觉没啥区别,但是还是网上搜了一下,终于明白是为什么, 自己也经常遇见这样的额问题。

为什么要把1这个常量写前面呢?这跟x==1有什么区别?
这是一直以来的置疑,后来发现这不止是我一个人在置疑!其实关于这一点,前辈们已经争议了很多年。暂且不说怎么写好,我就说说当初这个习惯为什么会形成的吧。
如果我们写if($x==1),在写的过程中经常会不小心写成if($x=1),我想这点不用置疑了,大家肯定都犯过的错误。因为$x=1是个合法的赋值语句,程序运行中不会报错,简短的程序我们很容易发现这个错误,如果几万行代码的一个系统,那想找出这个错误是很难的。所以某些前辈就建议我们这样写:if(1==$x)。
首先,这样写会与赋值语句的书写形式区分开,降低出错的可能性;然后如果我们实在脑子短路写成if(1=$x)的话,程序会报错(赋值语句等号前面必须为变量,语法错误)。
当然这只是一个习惯问题,并不强制大家使用,或许你有更好的方法,写这篇博文只是想告诉大家这个习惯怎么来的。写自己的代码,让无聊的人争议去吧!

Be the First to comment.

为什么if语句判断相等(==)时,习惯把常量写前面相关推荐

  1. c51语言if语句多条件使用,单片机if语句判断多个条件

    单片机if语句格式 sbit P2^0=A1; sbit P1^0=A2; sbit 语句等号后边应该是地址. sbit P2^0=A1:能通过编译码?本人试一下:test.C(6): error C ...

  2. python多个判断条件体重_python基础之如何用if语句判断多个条件?

    上一篇我们介绍了用if语句判断数字的正数.负数和零.当"判断条件"成立时(非零),则可执行后面的语句.但是多数情况下,仅仅一个判断条件难以满足我们接下来的操作,通常都是多个条件下执 ...

  3. python输入生日判断星座_用python条件语句判断星座

    每当发生显著的重大天象时,天文学家.科普工作者和媒体总会在社会上,特别是年轻人之间掀起一股天文学热潮.为了方便研究及观测天上诸多恒星,人们把星空分为若干个区域,每一区就是一个星座.对于夜空爱好者来说, ...

  4. C++switch语句 | 判断某年某月有几天

    C++多分支选择结构 switch语句是多分支选择语句,用来实现多分支选择结构,switcht的一般形式如下,和C语言基本上一样,只是输出语句不同. switch(表达式) {case 常量表达式1: ...

  5. python星座判断_如何用python条件语句判断星座?

    每当发生显著的重大天象时,天文学家.科普工作者和媒体总会在社会上,特别是年轻人之间掀起一股天文学热潮.为了方便研究及观测天上诸多恒星,人们把星空分为若干个区域,每一区就是一个星座.对于夜空爱好者来说, ...

  6. PHP Switch 语句判断成绩

    初入PHP,就想简单的利用switch语句写一个关于成绩等级的判断,整个过程分为两部分一是前端数据,二是后台的计算. [HTML代码] <!-- * * * @Author: wyy * @Da ...

  7. SQL语句判断指定的数据库、表、字段、存储过程是否存在

    SQL语句判断指定的数据库.表.字段.存储过程是否存在 直接上代码,对大家有用就好! 代码 --判断[TestDB]是否存在 if exists(select 1 from master..sysda ...

  8. php 判断当前栏目高亮,Phpcms V9采用if语句判断当前栏目高亮、判断分类信息是否过期...

    在用PC V9建站的时候,很多朋友会想到Phpcms V9判定当前栏目,让当前栏目高亮的功能,在这里分享判断当前栏目.当前栏目高亮的代码,同时在此要分享if语句判断分类信息是否过期,CMSYOU给力. ...

  9. 汇编语言-008(条件跳转应用 、loopnz 条件循环指令使用 、loopz 条件循环指令使用 、 if语句编写汇编时 、while语句编写汇编时 、循环内的if语句嵌套)

    1: 条件跳转应用,三个数中最小数 .386 .model flat,stdcall.stack 4096 ExitProcess PROTO,dwExitCode:DWORD.data V1 WOR ...

最新文章

  1. Python3中PyMongo使用举例
  2. 【数据库】 兴唐第二十七节课只sql注入
  3. 不同浏览器Cookie有效期问题
  4. 第三次上课 PPT 课后测试
  5. 【FI】SAP ODN简介
  6. 新博客地址: https://sanzo.top
  7. vue中使用watch监听$route 无效问题
  8. 企业内网利用devpi搭建pypi私服
  9. 华三路由交换配置命令_华三路由器交换机配置命令
  10. 第二章 数据的表示和运算 2.1.4 奇偶校验 [计算机组成原理笔记]
  11. 超过12000个零件,钢琴就是一部复杂的机器
  12. 生产环境遇到难题,你是如何解决的?
  13. scala中循环守卫_Scala中的循环
  14. Python学习笔记:序列之字符串
  15. 从0开始运行flutter helloworld笔记
  16. java 比较器_java比较器简略叙述
  17. 沪江日语频道 » 日语真题
  18. 解决VMware Workstation Pro15 无法在Windows上运行
  19. linux怎么查服务器的ip地址查询,Linux操作系统查看当前服务器网卡的IP地址
  20. 央视解说之韩乔生巅峰之作--夏普

热门文章

  1. IOS与安卓的远程调试
  2. ElementUI:表格table列宽度压缩出现空白
  3. C#实现textbox控件多行显示和自动换行
  4. wpf-使用IronPython调用python代码
  5. 央企:华润电力2023秋季校园招聘
  6. 中国电子学会2022年06月份青少年软件编程Scratch图形化等级考试试卷二级真题(含答案)
  7. uni-app开发之利用雷电模拟器调试
  8. WPF TextBox限制只能输入数字的两种方法
  9. 共享单车 芝加哥 数据分析_为什么311无法使用数据科学识别并解决芝加哥311明显的服务问题...
  10. Java中为什么在重写finalize()方法时首选调用super.finalize()?