当前位置:Gxlcms > PHP教程 > php程序中if(1==$user)和if($user==1)在效率上有区别吗?

php程序中if(1==$user)和if($user==1)在效率上有区别吗?

时间:2021-07-01 10:21:17 帮助过:6人阅读

两种写法都看到过

回复内容:

效率上没什么区别
--------------

if(1==$user)
在编程中,如果忘了一个=,程序会报错

if($user==1)
如果你忘了一个=,可能永远也发现不了

就是通过编程习惯来减少码代码时的错误,减少意外Bug 我来手动测试验证下:
追求性能到这种地步,你就换个语言吧! 在php这种动态语言中,比较这种效率问题得多蛋疼? 考虑这种情况的效率毫无意义 感谢邀请! 虽然没做过此类测试,但是感觉在效率上应该没啥差距。 欣赏楼主的这种态度。
$ time php test.php

real 0m12.352s
user 0m0.000s
sys 0m0.015s

$ time php test1.php

real 0m12.240s
user 0m0.000s
sys 0m0.031s

$ time php test2.php

real 0m4.635s
user 0m0.015s
sys 0m0.000s

$ time php test3.php

real 0m4.620s
user 0m0.000s
sys 0m0.015s
效率上很难看出区别。这种写法主要是为了避免把==写成=,毕竟头昏脑胀的时候一眼看上去$a = 1很像是对的,而1 = $a不管你怎么头昏脑胀还是会觉得不对。
此外这种习惯不仅存在于php的编写中,在其他语言里也很常见 这不涉及效率问题,这是一种代码习惯,以便于防止手误,将==写成=,这个错误是所有C及C衍生语言或类C语言程序员都犯过的错误~~

人气教程排行