这是一个困扰我很长时间的问题,找不到任何答案……
注意到它被Zend Framework Developers使用了很多,
注意到它被Zend Framework Developers使用了很多,
以下2“if”语句之间有什么区别? :
if (null === $this->user) { ... } if ($this->user === null) { ... }
对我来说,第一个看起来有点奇怪;]
谢谢你的回答.
这不是您的脚本工作方式的差异,它只是一个编码标准,一个推荐
原文链接:https://www.f2er.com/php/138315.html建议以这种方式使用它的原因:
if (null == $this->user)
事实上,如果你输入错误并写入=而不是==,那么你将得到一个错误
($this->user = null)
代替
($this->user == null)
工作,但会导致奇怪的错误(赋值和最终值被评估为bool而不是比较)
我猜它只是作为一种习惯扩展到严格的比较运算符(===)
更新:因为我发现即使在我发布答案3年后,这个帖子上还有一些活动,我想我会添加一些我忘记提及的内容.这种表示法称为yoda条件,您可以在this wikipedia page上阅读更多相关信息.