Załóżmy, że wysyłam zestaw e-maili. E-maile to tablica zawierająca john@test.com, tom@test.com, jerry@test.com .... itd
Od strony odbiorczej próbuję pobrać wiadomości e-mail.
foreach ($_POST["emails"] as $i => $value) {
echo "emails[$i] is $value<br />";
}
Czy to jest właściwy sposób na zrobienie tego? dla pętli foreach, czy iterowałaby do czasu zakończenia wszystkich danych z tablicy e-maili?
Odpowiedzi:
1 dla odpowiedzi № 1To jest poprawne. Prawdopodobnie możesz użyć bardziej prostej pętli:
foreach ($_POST["emails"] as $email) {
echo $email, "<br>";
}
Upewnij się, że odkaż swój wkład !
Jeśli dzwonisz do funkcji wysyłania wiadomości e-mail lub czegoś podobnego, możesz użyć 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
# ...
0 dla odpowiedzi nr 2
Próbować
foreach ( $_POST ["emails"] as $value ) {
echo $value , "<br />";
}
0 dla odpowiedzi № 3
Po prostu użyj wartości $:
foreach($_POST["emails"] as $value) {
echo "Email: {$value}n";
}
Możesz też użyć klawisza tablicy, aby uzyskać dostęp do wartości, ale nie ma sensu, jeśli nie chcesz edytować wartości:
foreach($_POST["emails"] as $key => $value) {
echo "Email: " . $_POST["emails"][$key];
}
-1 dla odpowiedzi № 4
Nie, ty używasz tej składni dla tablic asocjacyjnych, $_POST["emails"]
najprawdopodobniej nie jest tablicą asocjacyjną. Prawidłowy sposób byłby mniej więcej taki:
foreach ($_POST["emails"] as $email) {
echo "Email: $email<br />";
}