警告:array_merge():当处理两个$ _POST时,参数#1不是数组

时间:2013-09-09 19:43:08

标签: php arrays

我在处理$_POST['cpl']时收到以下错误警告:array_merge():参数#1不是数组,尽管$_POST['add']工作正常

if (is_array($_POST['add'])) {
    foreach ($_POST['add'] as $key => $value) $_POST['add'][$key] = mysql_real_escape_string($value);
    $en = array_merge($en, $_POST['add']);
}

if (is_array($_POST['cpl'])) {
    foreach ($_POST['cpl'] as $key => $value) $_POST['cpl'][$key] = mysql_real_escape_string($value);
    $cp = '';
    $cp = array_merge($cp, $_POST['cpl']);
}

2 个答案:

答案 0 :(得分:8)

那是因为$cp是一个字符串(你明确地定义了它)。

$cp = ''; // <-- empty string
$cp = array_merge($cp, $_POST['cpl']);

应该是:

$cp = array(); // <--now it's an array
$cp = array_merge($cp, $_POST['cpl']);

答案 1 :(得分:4)

你有以下几行:

$cp = '';
$cp = array_merge($cp, $_POST['cpl']);

这是不言自明的:$cp首先是一个字符串,错误就是这个事实。用array()初始化它。