php - PHP 中的静态变量

标签 php

如果我运行下面的 PHP 代码,我得到 123。我不明白它背后的逻辑。我的想法是每次调用该函数时它假设输出 1。所以输出应该像 111。

function keep_track() {
  STATIC $count = 0;
  $count++;
  print $count;
}

keep_track();
keep_track();
keep_track();

// output 123

我知道即使在函数退出后,静态变量仍保留该值,但在上面的函数中,我在第一行分配了一个值,但它仍将 +1 与 $count< 的先前值相加

你能解释一下吗? (如果我听起来像个傻瓜,我很抱歉......但我正在努力找出这究竟是怎么发生的)

最佳答案

$count 仅在第一次调用函数时初始化,每次调用该方法时,它都会递增 $count

在此link ,向下滚动到 Using static variables 以获得更好的理解。

关于php - PHP 中的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16530306/

相关文章:

php - 无法配置 Notepad++ DBGP 插件。 Xdebug 已安装

php - 在 while 循环中打印一次相同的值

资源上的 PHP 垃圾收集器?

php - 为图像添加水印

php - MySQL 自定义逐行连接

php - Memcached set() 失败 : WRITE FAILURE

php - *仅*在数据库表更改(添加行)时刷新 html 页面部分

php - 在 PHP 中如何读取从 COM 对象返回的多维变体数组?

javascript - JSON 不适用于 OnChange 事件

php - 根据内容长度用 PHP 更改标签