Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将数组添加到现有数组而不调用新键_Php_Arrays - Fatal编程技术网

Php 将数组添加到现有数组而不调用新键

Php 将数组添加到现有数组而不调用新键,php,arrays,Php,Arrays,我正在构建一个3页的提交表单,我非常希望所有$\u POST结果都存储在一个会话变量中 因此,第1页首先设置数组并添加第一批post数据: $_SESSION['results'] = array(); $_SESSION['results'] = $_POST // first lot of post data 这非常有效,并返回如下数组: Array ( [name] => bob [address] => 1 foobar way [age] => 100

我正在构建一个3页的提交表单,我非常希望所有$\u 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
    )
)

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

是您要使用的函数。

数组合并()
是您的答案请参见您必须使用
数组合并()
,请查看以下内容:

您还可以使用:


你在寻找我,我是一块多么脆弱的岩石啊!我让array\u merge,但将其更改为array\u push。谢谢你们的快速反应,谢谢你们。知道这比使用array_merge函数的开销少吗?@user2189903我当然会这么想,但你必须进行基准测试才能确定。
$combined = $_SESSION['results'] + $_POST;