2012-05-10 59 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]; 
}