Я пытаюсь сделать цикл foreach внутри цикла foreach.PHP foreach loop внутри цикла foreach
У меня есть форма, в которой пользователь вводит текст и нажимает отправить. На сайте сервера я просматриваю массив с адресами электронной почты и отправляю текстовое сообщение.
Теперь я также хочу, чтобы пользователь мог использовать переменные в текстовом поле, например $ name. Итак, моя петля должна сначала пройти через электронные письма, а затем str_replace переменную userinput $ name с именами в моем массиве.
Петля отлично работает с электронной почтой ($ tlf), но не заменяет часть $ name.
Может ли какое-то пятно, что я делаю неправильно?
$message = stripslashes(strip_tags($_POST['message2']));
$tlf=array("name1","name2");
$test=array("mname1", "mname2");
$subject = "Hello world";
$from = "[email protected]";
$headers = "From: $from";
foreach($tlf as $name){
$to = $name. "@gmail.com";
foreach($test as $navn){
$message = str_replace('$navn', $navn, $message);}
mail($to,$subject,$message,$headers);
}
Большое спасибо.
EDIT: Выходное сообщение отправлено. Произнесите тип пользователя в «hello $ name». Я хочу, чтобы он сначала прошел через массив $ tlf, в этом случае создав 2 письма. Это начинается с $ to в первом цикле. Это работает.
Теперь следующий цикл должен распознать пользовательский ввод «hello $ name» и выполнить цикл через массив $ test, заменяющий переменную $ name пользователя.
Выходные данные будут отправлены по электронной почте.
почта выход: к: [email protected] сообщения: Привет mname1
выход почты: к: [email protected] сообщения: Привет mname2
Дайте мне знать, если мне нужно объяснить лучше, мне трудно объяснить, извините.
Каким образом результат неправильный? –
Я забыл упомянуть, что он выводит первое имя в массиве «mname1», но он не выполняет цикл через массив. Это ouput $ test [0] каждый раз .. – Bolli
Спасибо за ответ Nate .. см. Мой последний комментарий. – Bolli