我试图从数组中获取元素“ 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;
希望对您有所帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句