【发布时间】:2011-01-29 05:40:00
【问题描述】:
我想知道是否可以使用静态变量进行优化:
public function Bar() {
static $i = moderatelyExpensiveFunctionCall();
if ($i) {
return something();
} else {
return somethingElse();
}
}
我知道一旦$i 被初始化,它不会被那行代码在连续调用Bar() 时改变。我假设这意味着moderatelyExpensiveFunctionCall() 不会在我每次调用时都被评估,但我想确定一下。
一旦 PHP 看到一个已初始化的静态变量,它会跳过那行代码吗?换句话说,如果我对Bar() 进行大量调用,这是否会优化我的执行时间,还是我在浪费时间?
【问题讨论】:
-
为什么不试试呢?这是一个非常简单的改变。
标签: php optimization static-variables