최근 CodeIgniter PHP foreach 루프에서 객체를 생성해야하는 문제가 발생했습니다. 기본적으로 내 이메일 목록을 필터링하고 결과를 기반으로 개체를 생성 한 다음보기로 전달하고 다른 foreach 루프를 사용하여 콘텐츠를 나열해야합니다. 여기 Codeigniter가 배열을 보거나 배열을 foreach 루프로 객체로 변환
내가 가진 무엇을하고 성공적으로 배열 $ EMAIL_RAW을 생성하지만 내가 대신 객체로 생성 할 수있는 올바른 방법을 찾을 수 없습니다 :는 PHP :
$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;
사람들은 제안 나는 다음을 사용한다 :
$email_raw[] = (object)array('email'=>$email_to_test);
그러나 오류 msg는 객체가 아닙니다.
$ email_raw를 객체로 생성 할 수있는 다른 방법은 무엇입니까? 그래서 뷰에 전달하고 foreach를 사용하여 내용을 나열 할 수 있습니까?
감사합니다.
업데이트 :
$data['record']=array_unique($email_raw);
$this->load->view('login&signup/signup_test_get_wrong_email_view', $data);
와 내가 사용하는보기 :
<?php foreach ($record->result() as $row): ?>
<span><?php echo $row->email; ?></span><br>
<?php endforeach; ?>
'$ email_raw' 생성이 끝나면'$ email_raw = (object) $ email_raw;'를 사용하십시오. '$ email_raw' 변수 전체가 object가됩니다. – machineaddict
왜 배열 대신 객체를 생성 하시겠습니까? 배열은 정상적으로 작동하며 일반적으로보다 다양합니다. – Dan
당신이 연관 배열로 잘못 생각한 것 같아요. 그렇지 않으면 배열에 객체를 캐스팅 할 필요가 없습니다. 왜냐하면이 두 가지 객체의 사용법에 차이가 없기 때문입니다. – MahanGM