Php codeigniter验证应仅在电子邮件id数组不为空时工作

Php codeigniter验证应仅在电子邮件id数组不为空时工作,php,codeigniter,validation,email,Php,Codeigniter,Validation,Email,我正在对电子邮件id进行codeigniter验证。我声明了3个用于输入电子邮件id的文本框。我正在检索数组中名为ref_email的所有3个电子邮件id。现在,我只想在电子邮件id文本框不为空并且在查看页面中显示错误消息时才进行电子邮件id验证。如果电子邮件id文本框为空,则我不想进行任何验证。我不知道我的代码哪里出错了 我的控制器代码: $ref_email_array=$this->input->post('ref_email'); forea

我正在对电子邮件id进行codeigniter验证。我声明了3个用于输入电子邮件id的文本框。我正在检索数组中名为ref_email的所有3个电子邮件id。现在,我只想在电子邮件id文本框不为空并且在查看页面中显示错误消息时才进行电子邮件id验证。如果电子邮件id文本框为空,则我不想进行任何验证。我不知道我的代码哪里出错了

我的控制器代码:

    $ref_email_array=$this->input->post('ref_email');

            foreach($ref_email_array as $key => $r_email ){
        if ($r_email!="") {
                $this->form_validation->set_rules('ref_email['.$key.']', 'Email','trim|valid_email');
                $this->form_validation->set_error_delimiters('<div class="error_user" style="color:red">', '</div>');
                }
            }
           if($this->form_validation->run()){   // insertion code }
$ref_email_array=$this->input->post('ref_email');
foreach($key=>$r\u email形式的ref\u email\u数组){
如果($r\u email!=“”){
$this->form_validation->set_规则('ref_email['.$key.]'、'email'、'trim|valid_email');
$this->form_validation->set_error_分隔符(“”,);
}
}
如果($this->form\u validation->run()){//insertion code}
有人能帮我吗? 提前感谢。

$ref\u email\u array=$this->input->post('ref\u email');
$ref_email_array=$this->input->post('ref_email');
foreach($ref_email_array as $r_email ){
if (empty($r_email)) {}
else  {
$this->form_validation->set_rules('ref_email['.$key.']','Email','trim|valid_email');
$this->form_validation->set_error_delimiters('<div class="error_user" style="color:red">', '</div>');
      }
 }
foreach($r\u email\u数组作为$r\u email){ 如果(空($r_email)){} 否则{ $this->form_validation->set_规则('ref_email['.$key.]'、'email'、'trim|valid_email'); $this->form_validation->set_error_分隔符(“”,); } }

我希望这对你有帮助,它对我有用

为什么不使用php
empty()
函数来检查输入数组是否为空?我只想检查数组值是否为空。。我使用了3个文本框,所以我的数组总是返回0,1,2索引,所以数组不会为空。使用数组过滤器检查所有键是否都有值。好的,我会尽量让你知道的。使用数组过滤器是没有用的