Php 不要写入空数组字段

Php 不要写入空数组字段,php,mysql,arrays,Php,Mysql,Arrays,ik有一个html表单,我可以在其中选择一些选项。我想将这些值以逗号分隔写入我的数据库。这是我的密码 $genretotal = $_POST['genre']; $genre0 = $genretotal[0]; $genre1 = $genretotal[1]; $genre2 = $genretotal[2]; $genre3 = $genretotal[3]; $genre4 = $genretotal[4]; $genre5 = $genretotal[5]; $genre6 = $g

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;
我怎样才能省去空值?

为什么

$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);
}));

尝试使用
内爆
阵列过滤器

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

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

为什么不
$genre=introde(',',array_filter($\u POST['genre'])?为什么不像foreach一样使用if语句或twowbtw呢?顺便说一句,这将过滤掉计算结果为false的条目,例如包括
'0'
。在这些情况下,使用
array\u过滤器($\u POST['genre'],'strlen')
可能会更好。
$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;