我在stackoverflow和整个互联网阅读所有与这个问题有关的主题,并找不到工作溶剂......每个拥有者都有他的物品,当有人购买他的物品时,拥有者会收到确认电子邮件,但是当购物车中有几个相同的所有者物品时,他会得到几个相同的电子邮件信件,所以我需要删除已公布的数组条目。我试图使用DISTINCT和array_uniques函数,但没有运气。任何建议?在一个函数中删除重复的数组值PHP
我有一个数组和函数来发送邮件..
function email($mail_array) {
foreach(array_unique($mail_array) as $field => $value) {
$result = mysql_query("select email from users where $field='$value'");
$row = mysql_fetch_array($result);
$maail = mysql_real_escape_string($row['email']);
}
$email_to = "".$maail."";
// rest of mail formatting code
// create email headers
$headers = 'From: '.$email_from."\r\n" .
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
}
for ($i = 0; $i < $max; $i++) {
$pid = $_SESSION['cart'][$i]['productid'];
$owner = get_owner($pid);
$mail_array = array(
'name' => $owner
);
email($mail_array) //call function to send mail
}
$ mail_array的内容是什么?在这里发布 – Ben 2012-03-23 11:18:03
我没有看到任何每个用户打来电话,我希望这是唯一的。以何种方式发送电子邮件是唯一的?你只是通过'array( 'name'=> $ owner )'并试图通过名称找到用户 – 2012-03-23 11:20:26
这可能只是一个复制/粘贴错误,但是这段代码没有解析 - 它缺少一个'}'来关闭函数中的'foreach'。请确保你的代码示例是正确的,并请合理地分隔你的代码 - 只要我重新格式化代码,解析错误立即变得明显。 – DaveRandom 2012-03-23 11:24:07