我在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