PHP-Mongodb:如何检查嵌套数组是否存在

时间:2014-12-18 06:34:48

标签: mongodb mongodb-php

我正在使用mongodb& amp; PHP。我已经在mongodb数据库中存储了消息内容。 我的mongodb数据库内容是这个

 .......some content.........
    "content": "This is the test message",
    "time_created": 1418813065,
    "status": "read",
    "agencyStatus": "read",
    "reply": [
    {
      "email": "leon@accenture.com",
      "name": "Accenture",
      "content": "Thanks for your test message",
      "time": 1418813145
    }
  ]

在我的节目中,我正在重温消息内容&通过foreach循环回复内容,因为嵌套为内部对象。

<?php echo $mongoMessage['content'];?>
<?php foreach ($mongoMessage['reply'] as $mongoReply){ ?>
<?php echo $mongoReply['content']; ?>

我的问题是当有回复的记录存在时我正在重新启动然后它在浏览器上显示但没有回复的记录,我正在重新启动然后它在浏览器上显示我的通知。如何摆脱这种局面。我上周面临的这个问题PLZ帮助我们......

1 个答案:

答案 0 :(得分:0)

如果我能帮到您,那么当您尝试检索reply数组没有值的文档时,您会在浏览器中收到通知。

所以要摆脱它,你必须首先检查reply数组是否为空。像这样 -

<?php

echo $mongoMessage['content'];

if (!empty($mongoMessage['reply'])) {

    foreach($mongoMessage['reply'] as $mongoReply)
    { 
        echo $mongoReply['content'];    
    }

}

?>

希望这会有所帮助: - )