使用php显示特定的"键值"从mongodb中检索到的数据配对

时间:2016-02-28 02:45:13

标签: php arrays mongodb database

这是php代码。

EXTRA_TEXT

在此,当使用 var_dump($ k)时,在$ j变量中检索数据,输出如下:

<?php 
// connect to mongodb
$m = new MongoClient();

// select a database
$db = $m->Example;

$collection="User";
$Query = array("Username"=>$username);
$j = $db->$collection->find($Query);   

foreach ($j as $k) {
   echo"<pre>";var_dump($k); echo"</pre>";
}

 foreach($j as $k => $v) {

       echo $k.'='.$j[$k].'<br>';

}
?>

但是,如果您尝试在下一个foreach循环中显示单个键值对,则会出现以下错误:

array(8) {
  ["_id"]=>
  object(MongoId)#6 (1) {
  ["$id"]=>
  string(24) "56d1cb49097ed3241d000029"
  }
  ["Fname"]=>
  string(4) "Ritu"
  ["Lname"]=>
  string(3) "Rad"
  ["Username"]=>
  string(4) "riri"
  ["Password"]=>
  string(4) "riri"
  ["Email"]=>
  string(23) "ritikatra@gmail.com"
}

如何仅显示特定键及其值? 例如:电子邮件ritikatra@gmail.com

1 个答案:

答案 0 :(得分:0)

\MongoCollection::find()(您的$j)变量的结果是实现\MongoCursor的{​​{1}}类的实例 - 它允许您循环它但它不会有钥匙(即没有实施\Iterator)。如果您想将结果用作数组,请致电

\ArrayAccess

现在您可以使用$array = iterator_to_array($j); ,因为它是普通数组:

$array