我正在尝试将数组发送到另一个页面。
我之前尝试过的是:
page1
<input type='hidden' name='input_name' value='<?php print_r($array_name); ?>' />
还有第2页
<?php
$passed_array = $_POST['input_name'];
?>
现在我该怎么做$passed_array
像数组一样工作?
或者您知道解决这个问题的其他方法吗?
谢谢,迈克。
编辑:我想这样做的原因是因为我需要避免会话和cookie。
你可以把它放在会话中:
session_start();
$_SESSION['array_name'] = $array_name;
或者,如果您想通过表格发送,您可以连载 http://php.net/serialize it:
<input type='hidden' name='input_name' value="<?php echo htmlentities(serialize($array_name)); ?>" />
$passed_array = unserialize($_POST['input_name']);
会话的优点是客户端看不到它(因此无法篡改它),并且如果数组很大,会话速度会更快。缺点是如果用户打开多个选项卡,可能会感到困惑。
编辑:很多答案都建议使用name="input_name[]"
。这在一般情况下不起作用——需要对其进行修改以支持关联数组,并进行大量修改以支持多维数组(讨厌!)。最好坚持序列化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)