【问题标题】:How preserve values in PHP when the page was refreshed?刷新页面时如何在 PHP 中保存值?
【发布时间】:2015-05-19 12:23:54
【问题描述】:

例如:

<?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。提前谢谢你。

【问题讨论】:

  • 将之前的结果保存在会话中,然后在每次刷新页面后传入
  • 使用 $_SESSION。不是静态的
  • 刷新是什么意思?如果您提供任何场景,那就太好了。因为如果你只是想刷新页面,整个脚本会再次加载。

标签: php class oop session static


【解决方案1】:

如果你想保留你的价值观,你可以使用这样的会话:

<?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();

?>

阅读更多:

http://php.net/manual/en/intro.session.php

【讨论】:

  • @user3300252 请记住,如果我的回答对您有帮助,您可以检查它是否已接受,如果您不知道如何阅读此stackoverflow.com/tour
猜你喜欢
  • 1970-01-01
  • 2016-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多