-
你好,
我正在使用codeigniter,该页面以防更新有关的信息用户。如果用户转到页面并编辑值如果为"或为空(相同(,则不进行更新,让查询通过它,我有一个逻辑,但它有点难看,需要很多时间。
$nome = "'nome' =>" . $this->input->post('nome') . "'"; $sobrenome = "'sobrenome' =>" . $this->input->post('sobrenome') . "'"; if($nome != ""){ $nome = "'nome' =>" . $this->input->post('nome') . "'"; }else{ $nome = ""; } if($sobrenome != ""){ $sobrenome = "'sobrenome' =>" . $this->input->post('sobrenome') . "'"; }else{ $sobrenome = ""; } $data = array($nome, $sobrenome);
问题是,我有很多字段:(
如果有人知道一个聪明的方法或更好的方法,请我想知道
创建一个数组并使用三元运算符
$data = array(
'nome' => strlen($this->input->post('nome'))>0 ? $this->input->post('nome') : NULL,
'sobrenome' => strlen($this->input->post('sobrenome'))>0 ? $this->input->post('sobrenome') : NULL,
);
如果要从阵列中删除NULL
值,则添加$data = array_filter($data);
您不需要为$nome
和$sobrenome
定义单独的变量。您可以使用$data['nome']
和$data['sobrenome']
获得这些值。