6

次のエラーが表示されますWarning: 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

これ$cpは文字列だからです (そのように明示的に定義しました)。

$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 に答える