2015-08-27 2 views
0

Я пытаюсь присвоить элемент массива строке, которая может быть распечатана на веб-странице. Сейчас данные MongoDB выглядит следующим образом:MongoDB array to string

> db.test1.find().pretty() { "_id" : ObjectId("55de668b4ac1fc9e75552db0"), "name" : "john", "friends" : { "best" : "rebecca", "acquaintance" : "steve" } }

После того как я сделать запрос, я использую этот PHP-код, чтобы отобразить мои результаты на веб-странице:

foreach ($result as $result) { echo sprintf("Name: %s, Best Friend: %s", $result['name'], $result['friends.best']); } }

Однако, когда я это ничего не появляется после Best Friend, и я получаю ошибку:

Notice: Undefined index: friends.best on line 27 .

Какой синтаксис следует использовать для доступа к элементу friends.best?

+1

«Точечная нотация» предназначена для запросов к MongoDB. Когда объект возвращается PHP, он является объектом PHP. Итак, '$ result ['friends'] ['best']' –

+0

Просто измените '$ result ['friends.best']' на '$ result ['friends'] ['best']' – YouSer

+0

Спасибо вам обоим ! Я не понял, что точка обозначена только для MongoDB. – MongoNoob

ответ

0
foreach ($result as $result) 
    { 
     echo sprintf("Name: %s, Best Friend: %s", $result['name'], 
     $result['friends']['best']); 
    } 
}