内爆包含php变量的$\u POST[]数组时出错

内爆包含php变量的$\u POST[]数组时出错,php,post,arrays,implode,Php,Post,Arrays,Implode,我试图在$u POST[]中内爆一个数组。我在一个循环中执行此操作,该循环在~31个数组中搜索值…$\u POST['1']、$\u POST['2']、$\u POST['3']等 我正试图通过以下方式做到这一点: while($i <= $_SESSION['daysInMonth']){ $month = $_SESSION['month']; $day = $i; $names = implode(',',$_POST['names_'.$i]); $region = $_SES

我试图在$u POST[]中内爆一个数组。我在一个循环中执行此操作,该循环在~31个数组中搜索值…$\u POST['1']、$\u POST['2']、$\u POST['3']等

我正试图通过以下方式做到这一点:

while($i <= $_SESSION['daysInMonth']){

$month = $_SESSION['month'];
$day = $i;
$names = implode(',',$_POST['names_'.$i]);
$region = $_SESSION['region'];
$date = date("Y").'-'.$month.'-'.$day;

echo("$names");

$i++;
while($i)

有人能看出我做错了什么吗


谢谢!

如果您将数组以外的内容作为内爆的第二个参数传递(例如,当未选择任何选项时),您将收到警告。您可以有条件地内爆:

if (!empty($_POST['names_'.$i])) 
// implode
或强制转换到阵列:

$names = implode(',', (array)$_POST['names_'.$i]);

while($i)
$names = implode(',', (array)$_POST['names_'.$i]);
<select name="names[]" multiple="multiple">  
<option value="<?php echo($arr); ?>"><?php echo($arr); ?></option>  

<?php foreach($_POST['names'] as $key => $value):  
    echo $value;  
?>
while($i <= $_SESSION['daysInMonth']){
    $names = (array)$_POST['names_'.$i];
    $month = $_SESSION['month'];
    $day = $i;
    $names = implode(',',$names);
    $region = $_SESSION['region'];
    $date = date("Y").'-'.$month.'-'.$day;

    echo("$names");

    $i++;
}