0

PHP中有许多预先设置的全局变量,Theres $_SESSION, $_REQUEST, $_POST, $_GET, $_COOKIE... 等等等等第四,它们每个都有不同的用法,但我想知道是否可以创建另一个全局数组,在设置后保留它的值..例子:

索引.php:

include "Test.php"; 

print_r($Array);

测试.php

$Array = array();

设置.php:

include "Test.php";
$Array[] = "Test"; 

程序:

用户导航到 Set.php -> set.php 将值添加到设置的数组Test.php-> 用户导航到 index.php 并保留值。

由于没有操作 Array 上的任何内容test.php,因此这些值被清除。有没有办法让这个数组在刷新后保留它的值并且没有操作?

4

1 回答 1

5

刷新后保留它的值

这就是会话状态的用途。请注意,$_SESSION除非您调用 ,否则其中的值也会“清除” session_start(),它会挂接到 Web 服务器本身以获取该会话的值。

您的所有其他示例也将在每一页中“清除”。事实上,所有这些都是在请求页面时由请求本身提供的:

  • $_REQUEST
  • $_POST
  • $_GET
  • $_COOKIE

中的项目$_SESSION不会持续存在,因为它是某种特殊的全局。它们之所以存在,是因为它的实现是为了使用 Web 服务器的会话状态管理。您可以以相同的方式实现任何东西,在页面外的任何介质中保持状态。如:

  • 一份文件
  • 一个数据库
  • 等等

然后您可以编写一个类似于session_start()从该外部源获取数据并重新填充全局集合的函数。你只需要在每一页的开头调用它,就像session_start().

于 2013-08-14T22:59:16.597 回答