例如:
<?php
class Foo
{
public static $my_static = 0;
public function staticValue() {
echo self::$my_static++;
}
}
$a = new Foo();
$b = new Foo();
$a->staticValue();
$b->staticValue();
?>
执行代码后,结果为01.但是刷新页面后,结果仍为01.我想知道如何修改代码,以便在刷新页面时获得结果为23。提前谢谢。
答案 0 :(得分:4)
如果您想保留您的值,可以使用以下会话:
<?php
session_start();
class Foo
{
public static $my_static;
public function staticValue() {
if(!isset($_SESSION['sum'])) {
$_SESSION['sum'] = 0;
}
self::$my_static = $_SESSION['sum'];
echo self::$my_static++;
$_SESSION['sum'] = self::$my_static;
}
}
$a = new Foo();
$b = new Foo();
$a->staticValue();
$b->staticValue();
?>
阅读更多内容: