2013-08-29 38 views
0

ik有一个html表单,我可以选择一些选项。我想写这些值逗号分隔到我的数据库。这是我的代码不写空数组字段

$genretotal = $_POST['genre']; 
$genre0 = $genretotal[0]; 
$genre1 = $genretotal[1]; 
$genre2 = $genretotal[2]; 
$genre3 = $genretotal[3]; 
$genre4 = $genretotal[4]; 
$genre5 = $genretotal[5]; 
$genre6 = $genretotal[6]; 
$genre7 = $genretotal[7]; 
$genre = $genre0 . "," . $genre1 . "," . $genre2 . "," . $genre3 . "," . $genre4 . "," . $genre5 . "," . $genre6 . "," . $genre7; 

我该如何忽略空值?

+1

为什么不这样做'$流派=破灭( '',array_filter( $ _ POST [ '风格']));'? – MisterBla

+0

为什么不像foreach一样使用if语句或两个 – Class

回答

1

尝试用implodearray_filter

implode(',', array_filter($_POST['genre'])); 
+0

感谢Bora这工作 –

+2

顺便说一下,这将过滤掉评估为false的条目,其中包括例如'0'。在这些情况下,使用'array_filter($ _ POST ['genre'],'strlen')'可能会更好。 –

1

为什么这么说?

$genre = join(',', array_filter($_POST['genre'], function($sItem) 
{ 
    //here I assume your 'not empty' matches PHP empty() function 
    //if not, then add desired conditions 
    return !empty($sItem); 
})); 
0
$genretotal = $_POST['genre']; 
if(isset($genretotal) && count($genretotal)>0) 
{//This check array is null or not 
    $gen_arr = implode(",",$genretotal); 


}//end if 
echo $gen_arr; 

//这是你的代码避免空值