非严格的平等比较

时间:2016-11-15 14:58:41

标签: php git symfony

今天我正在探索symfony repo,并在@Seldaek找到了一些拉动请求,在那里他用变量切换变量,如下所示:

enter image description here

Link for the PR

$var === truetrue === $var之间的区别是什么?

1 个答案:

答案 0 :(得分:2)

没有功能差异,它是一种名为yoda conditions的编码风格。

人们使用它来避免在常量为秒时通常不会被编译器拾取的条件下的意外分配。

这是一个有效的陈述,在实际预期它执行比较时很难调试:

if ($var = 12) {}

这是一个无效的语句,会抛出错误

if (12 = $var) {}

因为我们无法将变量分配给12。