PHP从电子邮件列表中删除电子邮件

问题描述:

我试图在创建邮件后发送电子邮件,但试图省略向邮件的创建者发送电子邮件。PHP从电子邮件列表中删除电子邮件

我得到[email protected], [email protected], [email protected]

$emails = rtrim($emails,', '); 

我试图删除[email protected]

$owners_email = Session::get('user_email'); // which is [email protected] 
$emails = rtrim($emails,$owners_email); 

,但我得到[email protected], [email protected], demo4

+0

使用爆炸功能和取消第一要素 –

+0

@ mr.void你怎么知道这将是第一个? – deceze

+0

OP没有写。所以我从最简单的案例中看到了它。 –

$emails = join(', ', array_diff(array_map('trim', explode(',', $emails)), [$owners_email])); 

详细,你可以单独做这些步骤,如果你想:

  • explode(',', $emails):把你的电子邮件列表到一个数组
  • array_map('trim', ...):从电子邮件中删除空格
  • array_diff(..., [$owners_email]):从阵列中删除所有者的电子邮件
  • join(', ', ...):折叠邮件回列表
+0

工作得很好,谢谢 – SamotnyPocitac

这个怎么样? http://php.net/manual/en/function.str-replace.php

str_replace($owners_email.",","",$emails); 
+0

你需要继续尾随逗号 –

+0

你必须确定它是否,它的电子邮件,电子邮件或电子邮件,但str_replace工作 – clearshot66

+0

@ clearshot66,不,它会永远是电子邮件, – SamotnyPocitac