似乎函数中声明的静态变量在调用函数时会重新初始化,我如何以重新调用函数将重新使用静态参数的方式使用函数?
我在 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/