-1

一連の電子メールを送信するとします。電子メールは、john@test.com、tom@test.com、jerry@test.com などを含む配列です。

受信側から、メールを取得しようとしています。

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

これは正しい方法ですか?foreach ループの場合、メール配列のすべてのデータが終了するまで反復しますか?

4

4 に答える 4

1

それは正しいです。ただし、おそらくもっと単純なループを使用できます。

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
# ...
于 2012-05-10T20:51:59.947 に答える
0

試す

foreach ( $_POST ['emails'] as $value ) {
    echo $value , "<br />";
}
于 2012-05-10T20:52:39.030 に答える
0

$value を使用するだけです:

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

または、配列キーを使用して値にアクセスすることもできますが、値を編集したくない場合は意味がありません:

foreach($_POST['emails'] as $key => $value) {
    echo "Email: " . $_POST['emails'][$key];
}
于 2012-05-10T20:55:21.127 に答える
-1

いいえ、連想配列にその構文を使用しますが、$_POST['emails']おそらく連想配列ではありません。正しい方法は、代わりに次のようになります。

foreach ($_POST['emails'] as $email) {
echo "Email: $email<br />";
}
于 2012-05-10T20:52:24.937 に答える