2017-01-27 3 views
0

У меня есть код, означающий такой код.код воспламенитель конкатенация в петле для цикла

for ($i=0;$i<count($acbox);$i++) 
{ 
    $query=$this->db->get('test'); 
    $queryresult=$query->row_array(); 
    $emailid=$emailid. ',' . $queryresult['email_id']; 
} 

здесь я конкатенация всех идентификаторов электронной почты в цикле for. я ищу, чтобы избежать конкатенирования любой электронной почты, если она уже существует в переменной $ emailid.

Right now i am getting output like this. 
[email protected],[email protected],[email protected],[email protected],[email protected] 
Expected output 
[email protected],[email protected] 

Просьбы помочь

+1

Чтобы дать Вам большой ответ, это может помочь нам, если у вас есть взгляд на [ask], если вы еще этого не сделали. Это может быть полезно, если вы можете предоставить [mcve]. – Mat

ответ

0

Если вы пытаетесь поставить emails в переменном тесте этого решения:

$this->db->select('email_id');   //select only field that we need it 
$this->db->group_by('email_id');  //this is important to avoid from duplicating 
$this->db->order_by('email_id','asc'); //sort options 
$this->db->limit(100);     //select only 100 rows (optional) 

$results = $this->db->get('test')->result(); 

$emailid = ""; 
foreach($results as $row) 
{ 
    $emailid = $emailid . ',' . $row->email_id; 
} 
+0

HI Деймон. Спасибо за ответ. Я поместил только часть своего кода. я не смогу изменить код так, как вы предлагали. могу я знать, есть ли другой способ сделать это. – catchvenki

0

Пример:

$data =''; 
$query=$this->db->get('table_name'); 
foreach($query->result() as $row) 
{ 
    $data .=$row->email.','; 

} 
return $data;