我有一个 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] => )