滚动代码时,您可能会遇到类似 if (1 === $var) 的内容。
if ($var === 1) 和 if (1 === $var) 之间可能有什么区别?
必须知道,这两种方法在功能上没有区别。那么,为什么在编写条件时要使用 Yoda 条件呢?
在编写 if 语句时,可能会漏掉一些等号。问题是当你最终得到这样的结果时:
if ($var = 1) { // Instead of $var === 1 // Do something }
这里发生了什么?
未检测到错误,因为此代码有效。问题是它没有按预期工作:变量分配为值1,不执行比较并且它始终为true。
这就是尤达条件有用的地方;同样的情况,我们得到:
if (1 = $var) { // Instead of 1 === $var // Do something }
这里我们也错过了一些等于,但代码无效,这一次,我们收到一个错误,因为这是无效的。
我们已经看到 Yoda 条件的唯一目的是避免意外赋值,而这会导致可读性降低。
你应该使用它吗?为什么不呢!但请记住,这不会对您的代码有任何改进。
它还可以帮助你在与开发者的聚会上展示自己(顺便说一句,这种情况并不经常发生)。
感谢您的阅读,谢谢! ?
以上是尤达条件,在 PHP 中,什么是?的详细内容。更多信息请关注PHP中文网其他相关文章!