如何在 PHP 中创建持久数组变量?

How can I create a persistent array var in PHP?

我正在 PHP 中编写一个 Web 应用程序,我想声明一个数组,我想在其中保存主机以及该主机打开我的 Web 应用程序的频率。我想将变量添加到 JSP 中的应用程序范围之类的东西。我试图将此数组添加到 $_SERVER,但这没有用。如果我尝试使用 $_SERVER[$_GET["id"]] 访问另一个文件中的变量,该变量始终为 NULL。有人可以帮我吗?

这是我的代码:

if(empty($_SERVER[$_GET["id"]])){
  $_SERVER[$_GET["id"]]=array($country, 1);
}else{
  $_SERVER[$_GET["id"]][$country]+=1;
}

几件事:

  1. $_SERVER是给SERVER的,不要用它来玩全局数组。
  2. $_SESSION 返回 null 因为你可能没有声明任何 session_start 在文件的开头。如果您不这样做,则不会共享会话 cookie(变量),这就是它为空的原因。

这是原版的基础 php。

从这里开始,您可以探索内置此功能的微型框架...

更新

由于你对"session"的误解,你要做的是持久化数据。如果你想"share"不同用户之间的这个数组(也就是会话之间的数据共享),我建议通过数据存储来持久化:

  • sqlite/memory 或 sqlite/file
  • redis(value/key 及其快速)
  • mysql 或任何 sql/no-sql
  • 最不受欢迎的 IMO:写入一个简单的文件并检索。唯一的问题是,您将有 "lock" 条件,但其他条件也会如此