Перейти к содержимому

Фото
- - - - -

Как отправить массив на мыло?


  • Вы не можете создать новую тему
  • Please log in to reply
6 ответов в этой теме

#1 Mitjay

Mitjay
  • Пользователь
  • 38 сообщений
  • Откуда:Tallinn

Отправлено 31 Май 2010 - 16:00

Существует многомерный массив типа:

Array ( [0] => Array ( [0] => apelsin [1] => orrange [2] => big ) [1] => Array ( [0] => tomat [1] => red [2] => small ) )

кол-во вложенных масивов может может различатся, т.е. могут быть ещё яблоки, груши и т.д. :)

Использую функцию mail:

$toaddress = "mail@mail.ee;";
$subject = "MATERJALIDE TELLIMUS.";
$mailcontent = "TELLIJA ANDMED: \n\n"
."FIRMA: ".$firma."\n"
."KONTAKTISIK: ".$nimi."\n"
."TELEFON: ".$tel."\n"
."E-POST: ".$post."\n"
."\n"
."TELLITUD POSITSIOONID: \n\n"
вот сюда надо вывести массив в виде:
apelsin --> orrange --> big
tomat --> red --> small

."LISAINFORMATSIOON :\n\n ".$lisainfo."\n";
mail ($toaddress, $subject, $mailcontent, $additional_headers);

Вопрос: как отправить массив в четабильном виде на мыло? Понимаю что надо его как-то в $mailcontent запихнуть, но как не знаю. Пробовал циклом FOR, но он не работает.
  • 0

#2 Akhenaton

Akhenaton
  • Постоялец
  • 8 038 сообщений

Отправлено 31 Май 2010 - 16:32

Просто собираешь как текст, примерно вот таким макаром:

$mailcontent = "";
for($i=0; $i < sizeof($massiv); $i++) {
$mailcontent .= $massiv[$i][0].'->'.$massiv[$i][1].'->'.$massiv[$i][2].'<br>';
}
...
ну и дальше отправляешь, как обычно.
  • 0

#3 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 31 Май 2010 - 18:40

Пробовал циклом FOR, но он не работает.

Цикл for работает с девяти до пяти. Ты во сколько пробовал?
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#4 Cepera

Cepera
  • Пользователь
  • 277 сообщений
  • Откуда:Таллинн, ТТУ

Отправлено 31 Май 2010 - 21:33

а может так подойдет?
.....
."TELLITUD POSITSIOONID: \n\n".
json_encode($massiv)
."LISAINFORMATSIOON :\n\n ".$lisainfo."\n";

более менее красиво :D немного напильника и будет идеально
  • 0

#5 Mitjay

Mitjay
  • Пользователь
  • 38 сообщений
  • Откуда:Tallinn

Отправлено 01 Июнь 2010 - 10:35

Сделал так:
$mailcontent = "";
for($i=0; $i < sizeof($massiv); $i++) {
$mailcontent .= $massiv[$i][0].'->'.$massiv[$i][1].'->'.$massiv[$i][2]."/n";
}
mail ($toaddress, $subject, $mailcontent, $additional_headers);
- всё работает. Тип-топ. :)

json_encode($massiv) более изящно конечно. Впринципе подходит, на майл уходит. Не в самом читабельном виде конечно. Надо как-то форматировать вывод массивов. Но с рус. УТФ трабла. В таком виде:
u041a\u0440\u0443\u0433\u043b\u044b\u0435 \u0442\u0440\u0443\u0431\u044b

После пару запросов в GOOGLE понял, что json_encode и УТФ не дружат. Лекарства не нашёл. Естествено подружить можно, но не моими руками. :lol:
http://alexmuz.ru/php-json_encode/ - не работает.

В общем, останавливаюсь на первом варианте.

Цикл for работает с девяти до пяти. Ты во сколько пробовал?

- 5+ :lol: :lol: :lol:

Спасибо за помощь.

Сообщение изменено: Mitjay (01 Июнь 2010 - 10:37 )

  • 1

#6 tot_ra

tot_ra
  • Пользователь
  • 28 сообщений
  • Откуда:Tallinn

Отправлено 23 Июнь 2010 - 15:28

mail ($toaddress, $subject, print_r($arr,true));
  • 0
☦ php разработчик

#7 Enot ^)

Enot ^)
  • Пользователь
  • 666 сообщений
  • Откуда:Таллинн

Отправлено 27 Июнь 2010 - 17:35

Вот тока я не понял нафига массив на мыло отправлять? :lol: Может значения элементов массива нужно отправить? :lol: Через цикл в строку собери... либо for либо while

Сообщение изменено: Acsid (27 Июнь 2010 - 17:35 )

  • 0
Модератор! Прежде чем стирать мое сообщение, спроси у меня разрешения