6

我收到以下错误警告:array_merge(): Argument #1 is not an array when processing $_POST['cpl'],虽然$_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']);
}
4

2 回答 2

10

那是因为$cpis 一个字符串(您以这种方式明确定义了它)。

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

应该:

$cp = array(); // <--now it's an array
$cp = array_merge($cp, $_POST['cpl']);
于 2013-09-09T19:44:34.413 回答
4

你有这些行:

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

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

于 2013-09-09T19:45:17.247 回答