php中文网

尤达条件,在 PHP 中,什么是?

php中文网

滚动代码时,您可能会遇到类似 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
}

这里发生了什么?

立即学习“PHP免费学习笔记(深入)”;

未检测到错误,因为此代码有效。问题是它没有按预期工作:变量分配为值1,不执行比较并且它始终为true。

这就是尤达条件有用的地方;同样的情况,我们得到:

if (1 = $var) { // Instead of 1 === $var
    // Do something
}

这里我们也错过了一些等于,但代码无效,这一次,我们收到错误,因为这是无效的。

结论

我们已经看到 yoda 条件的唯一目的是避免意外赋值,而这会导致可读性降低。

你应该使用它吗?为什么不呢!但请记住,这不会对您的代码有任何改进。

它还可以帮助你在与开发者的聚会上展示自己(顺便说一句,这种情况并不经常发生)。

感谢您的阅读,谢谢! ?

以上就是尤达条件,在 PHP 中,什么是?的详细内容,更多请关注php中文网其它相关文章!