假设我发送了一系列电子邮件。emails 是一个包含 john@test.com、tom@test.com、jerry@test.com....等的数组
从接收方我正在尝试检索电子邮件。
foreach ($_POST['emails'] as $i => $value) {
echo "emails[$i] is $value<br />";
}
这是正确的方法吗?对于 foreach 循环,它会迭代直到电子邮件数组中的所有数据完成吗?
假设我发送了一系列电子邮件。emails 是一个包含 john@test.com、tom@test.com、jerry@test.com....等的数组
从接收方我正在尝试检索电子邮件。
foreach ($_POST['emails'] as $i => $value) {
echo "emails[$i] is $value<br />";
}
这是正确的方法吗?对于 foreach 循环,它会迭代直到电子邮件数组中的所有数据完成吗?
那是对的。不过,您可能可以使用更简单的循环:
foreach ($_POST['emails'] as $email) {
echo $email, "<br>";
}
一定要清理你的输入!
如果您要调用电子邮件发送功能或其他功能,则可以使用array_walk()。
function send_mail($email){
echo "Sending email to {$email}";
}
array_walk($_POST['emails'], 'send_mail');
# Sending email to john@test.com
# Sending email to tom@test.com
# Sending email to jerry@test.com
# ...
尝试
foreach ( $_POST ['emails'] as $value ) {
echo $value , "<br />";
}
只需使用 $value:
foreach($_POST['emails'] as $value) {
echo "Email: {$value}\n";
}
或者您也可以使用数组键来访问该值,但如果您不想编辑值,则没有意义:
foreach($_POST['emails'] as $key => $value) {
echo "Email: " . $_POST['emails'][$key];
}
不,您很可能将这种语法用于关联数组,$_POST['emails']
而不是关联数组。正确的方法是这样的:
foreach ($_POST['emails'] as $email) {
echo "Email: $email<br />";
}