我有一個foreach循環來將數組中的值添加到codeigniter的where函數中。當我將一個帶有內容的值傳遞給這個循環時,它不會改變。但是,當一個空值進入時,它會在數組之前出現它的值。空值問題
下面是代碼:
if(is_null($data['psc_opt_5'])){ echo "null"; }else{ echo $data['psc_opt_5']; }
foreach($data as $field => $value)
{
if(!is_null($value))
{
$this->db->where($field, $value);
}
else
{
$this->db->where($field." IS NULL");
}
}
if(is_null($data['psc_opt_5'])){ echo "null"; }else{ echo $data['psc_opt_5']; }
陣列保持psc_opt_1 - psc_opt_5。
任何想法?
編輯
的第一if語句證明psc_opt_5是在循環之前空,於此陣列我與測試:
陣列 ( [psc_opt_1] => 1 [psc_opt_2] => 2 [psc_opt_3] => 3 [psc_opt_4] => 4 [psc_opt_5] => )
陣列 ( [psc_opt_1] => 5 [psc_opt_2] => 2 [psc_opt_3] => 3 [psc_opt_4] => 4 [psc_opt_5] => )
陣列 ( [ psc_opt_1] => 7 [psc_opt_2] => 2 [psc_opt_3] => 3 [psc_opt_4] => 4 [psc_opt_5] => )
看看我編輯的代碼,比較你的數組和我的結果。 – Robert 2012-07-17 13:07:50