【发布时间】:2016-07-15 06:23:52
【问题描述】:
嘿,快速提问,任何人都知道这两个代码(PHP-7)之间是否存在任何性能差异:
public function isActive() : bool
{
if ($cond1) {
if ($cond2) {
return true;
}
}
return false;
}
和
public function isActive() : bool
{
if ($cond1 && $cond2) {
return true;
}
return false;
}
(是的,我知道变量没有定义,问题是关于 if 语句而不是变量)
我问这个问题是因为我专注于代码的可读性,但同时尽可能保持我的性能。
即使只是很小的性能差异(例如 0.000000001%),我仍然想知道答案。
【问题讨论】:
-
逻辑上它们是相同的。为什么不搭建一个测试环境,测试一下?
-
可能会有差异,但完全无关紧要。换句话说,它不会对你的表现产生任何影响。您应该编写代码,使其可读且有意义。更简单的方法是:
return $cond1 && $cond2; -
自己做基准测试,微优化不适合堆栈溢出问题
-
它们是一样的。我通常使用第二个,因为它使您的代码简短且看起来不错。
标签: php if-statement conditional conditional-statements php-7