涉及$ _SESSION的PHP Array_merge不起作用

时间:2013-09-10 15:31:42

标签: php array-merge

此代码似乎不起作用:

session_start();
$_SESSION['filtros_web_jobs'] = array();
array_merge( $_SESSION['filtros_web_jobs'], $_POST['filtros_web_form'] );
var_dump($_SESSION);
var_dump($_POST);
session_write_close();
exit;

输出:

array(1) {
  ["filtros_web_jobs"]=>
  array(0) {
  }
}
array(1) {
  ["filtros_web_form"]=>
  array(1) {
    ["cola"]=>
    string(18) "fisica_Renova_zxcv"
  }
}

有任何线索吗?

由于

4 个答案:

答案 0 :(得分:4)

Array_merge返回一个数组。它不会改变传递给它的数组。

$merged = array_merge( $_SESSION['filtros_web_jobs'], $_POST['filtros_web_form'] );

答案 1 :(得分:2)

来自Array merge on PHP.net

  

返回值

     

返回结果数组。

您没有将输出设置为任何内容 - 请尝试以下操作:

$output = array_merge( $_SESSION['filtros_web_jobs'], $_POST['filtros_web_form'] );
print_r($output);

答案 2 :(得分:1)

array_merge返回新的合并数组。 尝试:

$a = array_merge( $_SESSION['filtros_web_jobs'], $_POST['filtros_web_form'] );
var_dump($a);

答案 3 :(得分:0)

在合并数组后,您还没有缓存array_merge函数为您提供的数据。

 $mergedArray = array_merge( $_SESSION['filtros_web_jobs'], $_POST['filtros_web_form'] );