我正在查看 Drupal 7 的源代码,发现了一些我以前从未见过的东西。我在 php 手册中做了一些初步的查找,但没有解释这些示例。
关键字static
对函数内的变量有什么作用?
function module_load_all($bootstrap = FALSE) {
static $has_run = FALSE
最佳答案
它使函数在多次调用之间记住给定变量的值(在您的示例中为 $has_run
)。
您可以将其用于不同的目的,例如:
function doStuff() {
static $cache = null;
if ($cache === null) {
$cache = '%heavy database stuff or something%';
}
// code using $cache
}
在这个例子中,if
只会被执行一次。即使多次调用 doStuff
也会发生。
关于php - `static` 函数内部的关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6188994/