我正在研究一个PHP应用程序,该应用程序具有对程序操作至关重要的一个(多个)数组。我需要保持这个数组的内容在页面加载之间保持不变。我知道$_POST
可以用来保留页面加载时的大部分数据类型,但是如何将数组放在数组中?
该阵列是一个简单的,但它有指数的量取决于用户的输入 - 它的范围可以从1 50.
之间的任何地方,以
有没有什么办法可以保留页面加载之间的阵列的数据与$_POST
?
我正在研究一个PHP应用程序,该应用程序具有对程序操作至关重要的一个(多个)数组。我需要保持这个数组的内容在页面加载之间保持不变。我知道$_POST
可以用来保留页面加载时的大部分数据类型,但是如何将数组放在数组中?
该阵列是一个简单的,但它有指数的量取决于用户的输入 - 它的范围可以从1 50.
之间的任何地方,以
有没有什么办法可以保留页面加载之间的阵列的数据与$_POST
?
你的问题不是很清楚。在页面之间传递变量应保存在$_SESSION
而不是$_POST
变量中。在会话变量中存储数组与将任何变量保存到会话变量相同。
$session_start();
$_SESSION['my_array'] = array('one', 'two', 'three');
foreach($_SESSION['my_array'] as $value) {
echo $value;
}
啊,谢谢!我不知道你可以像这样的数组设置数组索引的值。我现在就放弃它。 – 2013-03-03 07:01:41
客户端/服务器开发中的规则1:永远不要相信客户端。
你最好将数组存储在PHP的会话状态中,或者将它序列化到磁盘上。
幸运的是,它很容易:
$_SESSION['someKey]' = $myArray;
还有一个问题,您将其存储在页的建议:如果用户使用Back按钮和重新提交或以其他方式破坏你的页面排序,会发生什么?通过将状态存储在客户端上,您不能再依赖它了。
您应该使用'$ _SESSION',而不是POST。 – dfsq 2013-03-03 06:54:49