sam*_*ave 3 php comparison-operators
在比较之后==或===进行比较时放置变量真的很重要吗?
if (null == $var) {
}
if ($var == null) {
}
Run Code Online (Sandbox Code Playgroud)
我经常看到编码员更喜欢这种方式,是不是速度差异?
更新:
对不起,我没有做出清楚我的问题,我想知道是不是之间的不同==和===,但这样的表达式null == $var和$var == null,所以我已经改变了代码示例.
结论:
没有功能或性能差异.有些人认为这是最佳做法或仅仅是编码风格.BTW它有一个很酷的名字:尤达条件:)
仅供参考:PHP错误消息使用此样式,例如
PHP Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead)
Run Code Online (Sandbox Code Playgroud)
不知道为什么这个问题被标记为重复(3个不同的等于)不是(' = = $ $ var'和'$ var === false'之间有什么区别?)
它可以防止错误导致很难调试错误.这是为了万一你不小心写,=而不是==:
if ($var == null) # This is true in case $var actually is null
if ($var = null) # This will always be true, it will assign $var the value null
Run Code Online (Sandbox Code Playgroud)
相反,切换它们更安全:
if (null == $var) # True if $var is null
if (null = $var) # This will raise compiler (or parser) error, and will stop execution.
Run Code Online (Sandbox Code Playgroud)
使用此问题停止在特定行上的执行将使调试变得非常容易.另一种方式是相当困难,因为你可能会发现自己进入if条件,并且失去变量的值,你将无法轻易找到它.
| 归档时间: |
|
| 查看次数: |
3083 次 |
| 最近记录: |