如何在PHP中创建持久数组var


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(变量)将不会共享,这就是它为null的原因

这是vanillaphp的基础。

从这里,你可以探索一个微框架,它内置了…

更新

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

  • sqlite/memory或sqlite/file
  • redis(值/键及其快捷键)
  • mysql或任何sql/no-sql
  • 最不利的IMO:写入一个简单的文件并检索。唯一的问题是,你会有"锁定"条件,但其他条件也是如此