php - 在写程序的时候 做判断的时候 $a == 2 与 2 == $a 有何区别
天蓬老师
天蓬老师 2017-04-10 17:22:55
[PHP讨论组]

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

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(6)
巴扎黑

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

PHP中文网

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

PHP中文网

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

PHP中文网

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

大家讲道理

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

怪我咯

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号