在if结构中编写表达式的最佳方式


Best way of writing an expression in an if construct

我有一个问题,我在我读过的PHP最佳实践书中发现了一些东西。

进行以下测试的最佳方法是什么?

if("value" == $variable){}

if($variable == "value"){}

它的首选项,第一个被称为Yoda条件,它有助于防止意外地在if语句中分配变量并掩盖逻辑错误,然而,它可以说更难阅读(读起来像是Yoda在说它。)

比较的顺序唯一重要的方法是,如果放入"value" === $value,则可以避免意外赋值(即$value = "value")。

如果你正在寻找不同的写作方式,你应该看看===的比较。一般来说,避免类型强制是一种很好的做法。

您的示例是相同的,但您应该检查$variable是否设置为

if(isset($variable) && $variable == "value"){
}

这是一样的。

有些人更喜欢if("value" == $variable),因为如果你犯了一个错误,只写一个=,它会抱怨的。

如果您使用此if("value" == $variable){},它将避免我们通常使用=代替== 所犯的错误