2013-08-29 100 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; 

//這是你的代碼避免空值