我想知道是否可以使用静态变量进行优化:
public function Bar() {
static $i = moderatelyExpensiveFunctionCall();
if ($i) {
return something();
} else {
return somethingElse();
}
}
我知道一旦$i
被初始化,它就不会被连续调用的那行代码改变Bar()
。我认为这意味着moderatelyExpensiveFunctionCall()
每次我打电话时都不会对其进行评估,但我想确定一下。
一旦 PHP 看到一个已初始化的静态变量,它会跳过那行代码吗?换句话说,如果我对 进行大量调用,这会优化我的执行时间Bar()
,还是我在浪费时间?