我想用php显示评论。我的数据库是mongodb,这是我的收藏文章:
{ "_id" : ObjectId("55be4a1a71dd7ecc05b7acd9"), "title" : "test", "content" : "test", "user" : "Paul", "saved_at" : ISODate("2015-08-02T16:49:30.480Z"), "comments" : [ { "comment" : "this is my test", "user" : "Paul" } ], { "comment" : "my second test", "user" : "Paul" } ] }
所以我想要显示这个评论:"这是我的测试"和#34;我的第二次测试" 我有这个代码,但它没有工作:
<?php
try {
$mongodb = new MongoClient();
$collection = $mongodb->blog->articles;
} catch (MongoConnectionException $e) {
die('Failed to connect to MongoDB '.$e->getMessage());
}
$query=array();
$cursor=$collection->find($query);
foreach($cursor as $doc){
echo $doc['comments'];
}
?>
所以当我使用这段代码时,我有这个错误:
第86行的数组到字符串转换,它的这一行
echo $doc['comments'];
感谢帮助
答案 0 :(得分:1)
正如错误所说 - 你正在尝试打印出一个数组,而echo
只能打印标量(int,string,float等)。
要快速显示数组,可以使用var_dump()
,但不应在生产中使用。相反,您可以迭代这样的评论:
foreach($cursor as $doc)
{
foreach($docs['comments'] as $comment)
{
echo '"' . $comment['comment'] .'" by ' . $comment['user'];
}
}