欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

在写程序的时候 做判断的时候 $a == 2 与 2 == $a 有何区别

程序员文章站 2022-04-11 11:05:35
...
在写程序的时候 做判断的时候 $a == 2 与 2 == $a 有何区别

回复内容:

在写程序的时候 做判断的时候 $a == 2 与 2 == $a 有何区别

对于能够在条件运算符中赋值的语言,把常量放置到比较运算符之前,可以避免漏写等号造成的问题。
也就是说,这样可以避免我们各种失误造成的把$a == 2写成$a = 2的问题。

这种技巧在php中用处不是很大,但是在java web中用处比较大,比如判断用户提交的某个参数a是否等于字符串"abc"
"abc".equals(a)就比a.equals("abc")好,因为a可能是空的,后者就会报错,而前者就能给出正确结果。

2==$a 没见过这样的写法,如果可以,请赐教?

没太大作用。
主要目的是为了防止判断的时候少些一个等于号。
假设$a=1;
2==$a;//可以执行,值为false
2=$a;//保存
$a==2;//可以执行,值为false
$a=2;//可以执行,值为true,因为是赋值语句

$a == 2 少些一个等号为赋值操作,编译器不会提示报错
2 == $a 少些一个等号编译器会提示报错
前提是放到if里面做比较操作的时候

没有区别
但是,$a == 2 在语感上来说更容易让人接受一点

相关标签: php