php - 在 php 中,我如何确保函数中声明的静态变量在函数被调用时不会重新启动?

标签 php static

似乎函数中声明的静态变量在调用函数时会重新初始化,我如何以重新调用函数将重新使用静态参数的方式使用函数?

我在 static.php 中定义了函数 'testStatic'

这是 static.php:

<?php
function testStatic()
{
    static $staticV = 0;
    echo $staticV;
    $staticV;
}
?>

我正在从 index.php 调用“testStatic”

这里是 index.php:

<?php include "./static.php";?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"   "http://www.w3c.org/TR/html4/strict.dtd">
<?php
testStatic();
?>

<html> 
.
.
.
<html>

当第一次执行 index.php 时,testStatic 将返回“0”,但在下一次执行 index.php 时,testStatic 将继续返回“0”。 似乎每当执行 index.php 时,都会重新启动“testStatic”的静态变量“staticV”。

请指教。 那个 index.php

最佳答案

每次执行 PHP 脚本时,都会重新创建环境。 HTTP 请求或脚本调用之间没有状态。

第一次将浏览器指向 index.php 时,会初始化一个新的 PHP 环境,并且 $staticV 变为 0。

下次您将 Web 浏览器指向 index.php 时,会发生完全相同的事情。

如果你想在网络请求之间保持 $staticV,那么你需要一种不同的方法。 Sessions经常被用来处理这个问题。

关于php - 在 php 中,我如何确保函数中声明的静态变量在函数被调用时不会重新启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1196230/

相关文章:

python - Django 静态文件不会加载

php - PHP的错误提示

php mysql 从下拉列表中获取值打印到屏幕

gcc - 将多个静态库合并为一个 GCC scons

javascript - 如何从 Django 加载模型管理文件中的静态文件?

c#:继承/接口(interface)静态成员?

c++ - 如何对不同的静态类进行分组?

php - 为复杂函数中的 ssp 类添加 GROUP BY 支持

php - 如何从 RETS 搜索查询向表中插入数据?

javascript - 使 div 居中,即使内容比屏幕宽