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

如何在PHP中创建持久数组变量?,php,web-applications,superglobals,Php,Web Applications,Superglobals,我正在用PHP编写一个web应用程序,我想声明一个数组,我想在其中保存主机以及该主机打开我的web应用程序的频率。我想将变量添加到类似JSP中的应用程序范围的内容中。我已尝试将此数组添加到$\u服务器,但没有成功。如果我尝试使用$\u SERVER[$\u GET[“id”]]访问另一个文件中的变量,则该变量始终为空。有人能帮我吗 这是我的代码: if(empty($_SERVER[$_GET["id"]])){ $_SERVER[$_GET["id"]]=array($country, 1

我正在用PHP编写一个web应用程序,我想声明一个数组,我想在其中保存主机以及该主机打开我的web应用程序的频率。我想将变量添加到类似JSP中的应用程序范围的内容中。我已尝试将此数组添加到$\u服务器,但没有成功。如果我尝试使用$\u SERVER[$\u GET[“id”]]访问另一个文件中的变量,则该变量始终为空。有人能帮我吗

这是我的代码:

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

  • $\服务器用于服务器,请勿将其用于播放全局阵列
  • $\u会话返回null,因为您可能没有声明任何 会话\从文件的开头开始。如果不这样做,会话cookie(变量)将不会共享,这就是为什么它为空
  • 这是香草php的基础

    从这里,您可以探索一个内置此功能的微框架

    更新

    由于您对“会话”的误解,您想要做的是持久化数据。如果您想在不同用户之间“共享”您的此阵列(也称为会话间的数据共享),我建议通过数据存储进行持久化:

    • sqlite/内存或sqlite/文件
    • redis(值/键及其快捷键)
    • mysql或任何sql/无sql
    • 最不利IMO:写入简单文件并检索。唯一的问题是,您将有“锁定”条件,但其他条件也会有

    $\u会话是我问题中的一个错误。我使用$\u服务器。谢谢你的回答,但这并不能解决我的问题。我想让每个用户都可以访问此数组,而不仅仅是在实际会话中。@holzfeli请重新表述您的问题