首页  >  文章  >  后端开发  >  在写程序的时候 做判断的时候 $a == 2 与 2 == $a 有何区别

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

WBOY
WBOY原创
2016-10-22 00:14:211544浏览

在写程序的时候 做判断的时候 $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 在语感上来说更容易让人接受一点

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn