今天我正在探索symfony repo,并在@Seldaek找到了一些拉动请求,在那里他用变量切换变量,如下所示:
$var === true
和true === $var
之间的区别是什么?
答案 0 :(得分:2)
没有功能差异,它是一种名为yoda conditions的编码风格。
人们使用它来避免在常量为秒时通常不会被编译器拾取的条件下的意外分配。
这是一个有效的陈述,在实际预期它执行比较时很难调试:
if ($var = 12) {}
这是一个无效的语句,会抛出错误
if (12 = $var) {}
因为我们无法将变量分配给12。