php - `static` 函数内部的关键字?

标签 php function static keyword

我正在查看 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/

相关文章:

c++ - GCC 链接器 : staticA can't see staticB while linking other shared library

java - 在静态最终字符串列表中查找项目

php - 在 LAMP 堆栈上,如何限制并发连接数并为超出该限制的用户提供静态页面?

php - 在 Flash 应用程序中禁用 PHP 或 JavaScript 中的浏览器缓存

sql - 在 Postgresql 中创建一个不返回复合值的函数

javascript - 忽略函数?

javascript - 通常只执行一次 javascript 的有效方法(通过 cookie)?

php - 如何使用append方法在#posts div中显示属于点击类别的帖子?

php - 是否有可能使用 Drupal(无缓存)获得 <200 毫秒的响应?

function - 函数应用程序中未找到隐式参数