配列の値をcodeigniterwhere関数に追加するためのforeachループがあります。コンテンツを含む値をこのループに渡しても、変更されません。ただし、null値が入ると、配列内でその前の項目の値とともに出力されます。
コードは次のとおりです。
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がnullであることを証明します。これは、私がテストしている配列です。
アレイ([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] =>)