2012-05-10 56 views
-1

假設我發送了一個電子郵件數組。這些電子郵件是含有[email protected][email protected][email protected]陣列....等

從接收側我試圖檢索電子郵件。

foreach ($_POST['emails'] as $i => $value) { 
    echo "emails[$i] is $value<br />"; 
    } 

這是正確的方法嗎?對於foreach循環,它是否會迭代直到電子郵件數組中的所有數據都完成?

+2

你也許可以在更短的時間已經試過這比它採取張貼問題... – ceejayoz

+0

我試圖通過移動設備從正面和PHP在back.If它不希望工作的一些正確的指針,使其工作在發送。 –

回答

1

這是正確的。你可以使用更簡單的循環:

foreach ($_POST['emails'] as $email) { 
    echo $email, "<br>"; 
} 

一定要sanitize your inputs


如果您所呼叫的電子郵件發送功能或東西,你可以用array_walk()

function send_mail($email){ 
    echo "Sending email to {$email}"; 
} 

array_walk($_POST['emails'], 'send_mail'); 

# Sending email to [email protected] 
# Sending email to [email protected] 
# Sending email to [email protected] 
# ... 
-1

不,你在關聯數組中使用該語法,$_POST['emails']很有可能不是關聯數組。正確的方法是這樣的,而不是:

foreach ($_POST['emails'] as $email) { 
echo "Email: $email<br />"; 
} 
0

嘗試

foreach ($_POST ['emails'] as $value) { 
    echo $value , "<br />"; 
} 
0

只需使用$值:

foreach($_POST['emails'] as $value) { 
    echo "Email: {$value}\n"; 
} 

或者你也可以使用數組鍵來訪問值,但有沒有點,如果你不希望編輯值:

foreach($_POST['emails'] as $key => $value) { 
    echo "Email: " . $_POST['emails'][$key]; 
}