1

此代码似乎不起作用:

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

4 回答 4

4

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

$merged = array_merge( $_SESSION['filtros_web_jobs'], $_POST['filtros_web_form'] );
于 2013-09-10T15:34:11.573 回答
2

来自PHP.net 上的数组合并

返回值

返回结果数组。

您没有将输出设置为任何内容 - 试试这个:

$output = array_merge( $_SESSION['filtros_web_jobs'], $_POST['filtros_web_form'] );
print_r($output);
于 2013-09-10T15:34:24.430 回答
1

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

$a = array_merge( $_SESSION['filtros_web_jobs'], $_POST['filtros_web_form'] );
var_dump($a);
于 2013-09-10T15:34:31.470 回答
0

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

 $mergedArray = array_merge( $_SESSION['filtros_web_jobs'], $_POST['filtros_web_form'] );
于 2014-12-01T12:23:13.657 回答