>  기사  >  백엔드 개발  >  Codeigniter列出错误的邮件地址

Codeigniter列出错误的邮件地址

WBOY
WBOY원래의
2016-06-06 20:44:161006검색

大家好,我在用CodeIgniter PHP foreach 过一个email地址的表单,发现一些不符合正则表达式要求的Email,列出来以便改进。

难题在于难以将结果以object形式列出来。

代码:

PHP:

<code>    $this->db->where('status', 'subscribed');
    $email_preliminary=$this->db->select('email')->get('user'); 

    $email_raw = array();

    foreach ($email_preliminary->result() as $row):

        $email_to_test=$row->email;

        if(filter_var($email_to_test, FILTER_VALIDATE_EMAIL)||preg_match('/\d*[1-9]\d*/', $email_to_test))
        {
            $email_raw[] = $email_to_test;
        }

        else{

        }
    endforeach;

    $record_raw=array_unique($email_raw);

    $data['record'] = json_decode (json_encode ($record_raw), FALSE);

    $this->load->view('login&signup/signup_test_view', $data);
}
</code>

HTML Signup_test_view里,我有:

<code>  <?php foreach ($record->result() as $row): ?>

<span><?php echo $row->email; ?></span><br>

  <?php endforeach; ?>
</code>

错误信息为:

Call to a member function result() on a non-object in D:\views\login&signup\signup_test_view.php

但我不是已经用下面这行代码把array转变成object了吗:

<code>  $data['record'] = json_decode (json_encode ($record_raw), FALSE);
</code>

谢谢!


更新:

有同学建议把view里的代码改成

<code>  <?php foreach ($record as $row): ?>
  <span><?php echo $row->email; ?></span><br>
   <?php endforeach; ?>
</code>

也试了,错误信息仍为:
A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: login&signup/signup_test_get_wrong_email_view.php

回复内容:

大家好,我在用CodeIgniter PHP foreach 过一个email地址的表单,发现一些不符合正则表达式要求的Email,列出来以便改进。

难题在于难以将结果以object形式列出来。

代码:

PHP:

<code>    $this->db->where('status', 'subscribed');
    $email_preliminary=$this->db->select('email')->get('user'); 

    $email_raw = array();

    foreach ($email_preliminary->result() as $row):

        $email_to_test=$row->email;

        if(filter_var($email_to_test, FILTER_VALIDATE_EMAIL)||preg_match('/\d*[1-9]\d*/', $email_to_test))
        {
            $email_raw[] = $email_to_test;
        }

        else{

        }
    endforeach;

    $record_raw=array_unique($email_raw);

    $data['record'] = json_decode (json_encode ($record_raw), FALSE);

    $this->load->view('login&signup/signup_test_view', $data);
}
</code>

HTML Signup_test_view里,我有:

<code>  <?php foreach ($record->result() as $row): ?>

<span><?php echo $row->email; ?></span><br>

  <?php endforeach; ?>
</code>

错误信息为:

Call to a member function result() on a non-object in D:\views\login&signup\signup_test_view.php

但我不是已经用下面这行代码把array转变成object了吗:

<code>  $data['record'] = json_decode (json_encode ($record_raw), FALSE);
</code>

谢谢!


更新:

有同学建议把view里的代码改成

<code>  <?php foreach ($record as $row): ?>
  <span><?php echo $row->email; ?></span><br>
   <?php endforeach; ?>
</code>

也试了,错误信息仍为:
A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: login&signup/signup_test_get_wrong_email_view.php

array不也是蛮好用的么,那你需要一个把array转换成object ?

$obj = (object) $array;

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.