Предупреждение: array_merge (): Аргумент # 1 не является массивом при обработке двух $ _POST

Я получаю следующую ошибку Предупреждение: array_merge (): Аргумент # 1 не является массивом при обработке $_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']); } 

Это потому, что $cp – это строка (вы явно определили ее таким образом).

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

должно быть:

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

У вас есть следующие строки:

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

Это самоочевидно: $cp – это строка сначала, ошибка – это просто об этом. Инициализируйте его с помощью array() .