【发布时间】:2016-04-16 20:17:24
【问题描述】:
我想制作一个 API,它将来自 IMAP 服务器的电子邮件放入 JSON 输出。我可以得到邮件等等。 我使用数组创建 JSON 输出:
$arr = array('number' => $overview->msgno, 'date' => $overview->date,);
所以,问题是,我在 foreach 循环中获取邮件。 当我把这条线放到循环和
echo json_encode($arr, JSON_PRETTY_PRINT);
在外面,它只打印最后一行。如果我把它放在循环中,它只是一个页面,甚至还有一个新的括号打开和关闭。我希望所有输出都按如下顺序排列:
{
"1": [
{
"author": "Mister X",
"title": "Here is the title"
"message": "Here it should print the Message"
}]
"2": [
{and so on}]
}
我试过array_pusch($arr, $msgno, $date)。我在 foreach 循环中保存了两个变量,但它不起作用:(
希望你能帮助我,
dunklesToast
代码:
$mbox = imap_open("{mcggehrden.de:143}INBOX", $email, $login)
or die("can't connect: " . imap_last_error());
$MC = imap_check($mbox);
$result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0);
foreach ($result as $overview) {
$arr = array();
$number = $overview->msgno;
$date = $overview->date;
array_push($arr, $msgno, $date);
}
echo json_encode($arr, JSON_PRETTY_PRINT);
【问题讨论】:
-
所以显示你的代码
-
您要求我们帮助您编写代码,但您没有发布代码。您希望我们如何提供帮助?
-
@RiggsFolly 我刚刚添加了一些代码
标签: php arrays json api foreach