在本系列的这一点上,我们已经介绍了很多内容。到目前为止,我们已经讨论了以下主题:
很多东西,对吧?
在这篇特别的文章中,我认为在进入最后一个主题之前我们应该先轻松一点。因此,我们将讨论两个非常简单的主题(通常被忽略或过于复杂)。
具体来说,我们将讨论三元运算符,并且我们将讨论 Yoda 条件。
在编写基于 WordPress 的代码时,编码标准严格规定我们应该首先以可读性为目标。直接来自法典:
一般来说,可读性比聪明或简洁更重要。
但是这其中有一些细微差别。一些开发人员认为三元运算符与这个特定原则有点不一致,特别是因为它是编写 if/else
语句的另一种方式,并且如果开发人员不熟悉编写或读取三元运算符,那么这违反了这个原则。
我们稍后会更深入地讨论这个问题。
首先,对于那些不熟悉的人来说,三元运算符是编写 if/else
条件语句的简化方法。通常仅当条件是最简单的形式时以及仅当存在单个 if
和单个 else
条件语句的简化方法。通常
当条件是最简单的形式时以及
仅当存在单个 if
和单个 else
块时使用。
例如,假设我们有一个这样的条件:
$uses_gasoline = null; if ( 'hybrid' == $car_type ) { $uses_gasoline = false; } else { $uses_gasoline = true; } echo $uses_gasoline;
当然,这是一个有点做作的例子,但你明白了。毕竟,我只是想演示如何将这样的条件转换为三元运算符使用的形式。
根据上面的示例,您可以执行以下操作:
$uses_gasoline = 'hybrid' == $car_type ? false : true; echo $uses_gasoline;
有道理吗?需要注意的一件重要事情是:三元运算符正在测试 true(而不是 false,显然)。 就其价值而言,我发现这很像阅读一个句子。第一个子句提出一个问题(显然用问号标点),根据条件评估返回两个可能的答案。
有一个警告
是一个例外! empty()
用于检查 Codex 中记录的所有内容是否真实:
使用
,因为这里测试 false 通常更直观。根据我的经验,这是唯一一次在条件语句中使用否定评价。在我使用三元运算符的所有时间里,我发现测试 false 通常会使三元计算变得更难以破译。
此外,我发现最好提供一次评估,也许在非常简单、清晰的情况下提供两次评估。
尤达条件 如果您密切关注,您会注意到我做了一些大多数编程语言(甚至 WordPress 之外基于 PHP 的平台)通常不会做的事情:
条件的比较是通过将值与变量进行比较来完成的;
不是相反。
传统上,我们会看到这样的东西:
$uses_gasoline = null;
if ( $car_type == 'hybrid' ) {
$uses_gasoline = false;
} else {
$uses_gasoline = true;
}
echo $uses_gasoline;
相应的三元运算符看起来像这样:
$uses_gasoline = $car_type == 'hybrid' ? false : true; echo $uses_gasoline;
如果大多数编程语言和平台
不使用 Yoda 条件,那么 WordPress 为什么要使用?
true
。如果该语句是相反的( $the_force = true )
,则该赋值将完全有效,返回1
,导致 if 语句的计算结果为true
根据食品法典:
在上面的例子中,如果你省略了一个等号(承认这一点,即使是我们中最有经验的人也会发生这种情况),你会得到一个解析错误,因为你不能分配给像这样的常量,并且您可能会追寻该错误而。
在我看来,对于执行此类比较来说,这是一个非常非常好的解释,
尤其是在 PHP 和 JavaScript 等动态类型语言中。
结论
正如我在开头提到的,这篇特定的文章将比我们迄今为止在本系列中介绍的其他一些材料简单和直接。
此时,我们只剩下一个主要主题要讨论:数据库查询。
🎜之后,我们将回顾本系列中概述的所有主题,以总结我们在编码标准中详细说明的原则。🎜 🎜但首先,我们来讨论数据库查询。🎜以上是探索 WordPress 编码标准中的三元运算符和 Yoda 条件的详细内容。更多信息请关注PHP中文网其他相关文章!