我正在构建一个3页的提交表单,我非常希望将所有$ _POST结果存储在一个会话变量中。
因此,第1页首先设置数组并添加第一批帖子数据:
$_SESSION['results'] = array();
$_SESSION['results'] = $_POST // first lot of post data
这很好用并返回一个数组:
Array
(
[name] => bob
[address] => 1 foobar way
[age] => 100
)
所以当我从第2页获得结果时,我想简单地将它们附加到现有数组而不调用新数组+键
array_push($_SESSION['results'], $_POST); //second lot of post data
得到这样的东西:
Array
(
[name] => bob
[address] => 1 foobar way
[age] => 100
[job] => rubbish php dev
[salary] => 1000
)
但我得到了:
Array
(
[name] => bob
[address] => 1 foobar way
[age] => 100
[0] => Array
(
[job] => rubbish php dev
[salary] => 1000
)
)
更令我讨厌的是,我确信在调整代码之前我已经正常工作了。我做错了什么?
答案 0 :(得分:7)
您还可以使用+
operator:
$combined = $_SESSION['results'] + $_POST;
答案 1 :(得分:3)
array_merge()是你所追求的功能。
答案 2 :(得分:1)
array_merge()
是您的答案,请参阅http://php.net/manual/en/function.array-merge.php
答案 3 :(得分:0)
您必须使用array_merge()
,请查看:array_merge()