如何在 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;
}
几件事:
- $_SERVER是给SERVER的,不要用它来玩全局数组。
- $_SESSION 返回 null 因为你可能没有声明任何
session_start 在文件的开头。如果您不这样做,则不会共享会话 cookie(变量),这就是它为空的原因。
这是原版的基础 php。
从这里开始,您可以探索内置此功能的微型框架...
更新
由于你对"session"的误解,你要做的是持久化数据。如果你想"share"不同用户之间的这个数组(也就是会话之间的数据共享),我建议通过数据存储来持久化:
- sqlite/memory 或 sqlite/file
- redis(value/key 及其快速)
- mysql 或任何 sql/no-sql
- 最不受欢迎的 IMO:写入一个简单的文件并检索。唯一的问题是,您将有 "lock" 条件,但其他条件也会如此
我正在 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;
}
几件事:
- $_SERVER是给SERVER的,不要用它来玩全局数组。
- $_SESSION 返回 null 因为你可能没有声明任何 session_start 在文件的开头。如果您不这样做,则不会共享会话 cookie(变量),这就是它为空的原因。
这是原版的基础 php。
从这里开始,您可以探索内置此功能的微型框架...
更新
由于你对"session"的误解,你要做的是持久化数据。如果你想"share"不同用户之间的这个数组(也就是会话之间的数据共享),我建议通过数据存储来持久化:
- sqlite/memory 或 sqlite/file
- redis(value/key 及其快速)
- mysql 或任何 sql/no-sql
- 最不受欢迎的 IMO:写入一个简单的文件并检索。唯一的问题是,您将有 "lock" 条件,但其他条件也会如此