如何在没有函数的PHP中设置和检索动态全局变量
我试图编写一个简单的页面,使用动态变量名将一些数据保存到全局状态(存储在服务器内存中)。简单来说,查询字符串(GET only)只能发送两个参数如何在没有函数的PHP中设置和检索动态全局变量,php,global-variables,dynamic-variables,Php,Global Variables,Dynamic Variables,我试图编写一个简单的页面,使用动态变量名将一些数据保存到全局状态(存储在服务器内存中)。简单来说,查询字符串(GET only)只能发送两个参数 jam:标识唯一数据段的参数,该数据段实际上可以是任何文本字符串(包括数字)。此值附加到字符串“jam”,以创建动态变量名。因此,?jam=123导致全局变量jam123。同样地,因此?jam=Booboo会导致全局变量jambooo 部分:设置上述全局变量的值(必须是数字)。因此,如果传递了?jam=Booboo§ion=4,则全局变量ja
:标识唯一数据段的参数,该数据段实际上可以是任何文本字符串(包括数字)。此值附加到字符串jam
,以创建动态变量名。因此,“jam”
导致全局变量?jam=123
。同样地,因此jam123
会导致全局变量?jam=Booboo
jambooo
:设置上述全局变量的值(必须是数字)。因此,如果传递了部分
,则全局变量?jam=Booboo§ion=4
的值设置为jambooo
4
jam
(jamXXXX
)设置了值,以后任何指定相同jam
的请求都应该输出设置值。例如,在使用参数调用页面后指定?jam=Booboo
的请求应该只输出“4”
。但如果下一个请求是?jam=Booboo§ion=6
,则后续请求应输出“6”
这是在AWS Lightsail灯组的PHP7上设置的。我愿意使用另一个变量作用域,如果它将在服务器内存中持久存在(而不是cookie)
我尝试了下面的代码,但是当设置全局变量时,我正确地看到了初始值,但在后续请求中没有看到它的输出。我不确定PHP中是否缺少设置,或者我的代码是否有问题。我还尝试使用global
关键字,并在php.ini
中查找register\u globals
设置(当前不存在)
如果我没有弄错的话,您似乎希望$GLOBALS
在两个不同的PHP请求之间保持不变
除非另有编程,否则每个PHP调用都会收到自己的内存空间,而这些内存空间彼此不共享。因此,保存到$GLOBALS
数组中的变量将仅对该请求可用,并且在该请求结束时将立即被遗忘。对同一服务器(甚至是同一脚本文件)上的PHP代码的后续调用不会从以前的调用中收到$GLOBALS
值
您需要使用文件、缓存服务或数据库对持久性存储进行编程