滚动代码时,您可能会遇到类似 if (1 === $var) 的内容。
if ($var === 1) 和 if (1 === $var) 之间可能有什么区别?
如果($var === 1)
- 这就是我们学习代码的方式,因为你可以像你所说的那样编写代码:如果变量 $var 等于 1,则执行某些操作。
如果 (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中文网其它相关文章!