我正在开发一个PHP应用程序,它有一个(很多)数组,对程序的运行至关重要。我需要在页面加载之间保持此数组的内容完整。我知道$_POST
可用于在页面加载时保留大多数数据类型,但是如何放置数组...在数组中?
数组是一个简单的数组,但它的索引数量取决于用户输入 - 它的范围可以是1到50之间。
有没有办法在$_POST
的页面加载中保留数组的数据?
答案 0 :(得分:3)
你的问题不是很清楚。在页面之间传递变量应该保存在$_SESSION
而不是$_POST
变量中。在会话变量中存储数组与将任何变量保存到会话变量相同。
$session_start();
$_SESSION['my_array'] = array('one', 'two', 'three');
foreach($_SESSION['my_array'] as $value) {
echo $value;
}
答案 1 :(得分:0)
客户端/服务器开发中的规则#1:永远不要信任客户端。
最好将数组存储在PHP的会话状态中,或将其序列化为磁盘。
幸运的是,这很简单:
$_SESSION['someKey]' = $myArray;
您的建议将其存储在页面中还有另一个问题:如果用户使用“后退”按钮并重新提交或以其他方式中断页面排序会发生什么?通过在客户端上存储状态,您不能再依赖它了。