[英]my php array only displays one element
我试图从数组中获取元素“ message”,但仅返回1个元素。 但是,如果我从'foreach'循环中回显数组,它将显示所有消息,但是如果我仅回显以下内容:
这是它的输出:
“这里的消息”
2014-03-25 22:38:46
“这里的数字”
“这里的消息”
2014-03-25 22:38:46
“这里的数字”
“这里的消息”
2014-03-25 22:38:46
“这里的数字”
我得到以下回应:
“这里的消息”
2014-03-25 22:38:46
“这里的数字”
仅显示最新消息,实际上我知道问题出在哪里,因为我物理上没有数组,因为我正在从另一个来源检索数据,但是我实际上只是试图仅显示前2到3条消息,所以我无法像平常一样运行数组,我该如何写一个解决方案以仅接收2条消息
您是否正在尝试将每个消息添加到字符串中然后回显它? 如果是这样,请尝试以下操作:
foreach($arr['messages'] as $message)
{
$strMessage .= $message['message']."<br /><br />" . $message['date']."<br /><br />" . $message ['number']."<br /><br />";
}
echo $strMessage;
在您的示例中,您实际上没有对值做任何事情,而在这里,我将它们全部放入一个字符串中以进行回显。
如果只需要一组结果,则可以使用for
循环,如下所示:
for (var $i = 0; $i <= 2; $i++) {
$strMessage .= $arr["messages"][$i]["message"] . "<br />";
}
echo $strMessage;
或带中断的foreach循环(尽管我更喜欢for
循环):
$i = 1;
foreach ($arr["messages"] as $message) {
if ($i == 3) break;
$strMessage .= $message["message"];
$i++;
}
echo $strMessage;
希望对您有所帮助!
您实际上并没有echo
整个事情。
打印的是循环的最后一行。
foreach($arr['messages'] as $message)
{
echo $message['message']."<br /><br />";
echo $message['date']."<br /><br />";
echo $message ['number']."<br /><br />";
}
echo $message;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.