在不调用新键的情况下向现有数组添加数组


Adding array to existing array without invoking a new key

我正在构建一个3页的提交表单,我非常希望所有的$_POST结果都存储在一个会话变量中。

所以第1页开始设置数组并添加第一批post数据:

$_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
    )
)

更烦人的是,我确信在我调整代码之前,我已经使它正常工作了。我做错了什么?

您也可以使用+运算符:

$combined = $_SESSION['results'] + $_POST;

array_merge()是您需要的函数

array_merge()是你的答案,参见http://php.net/manual/en/function.array-merge.php

你必须使用array_merge(),看看这个:array_merge()