我有以下代码:
var_dump($cursor);
foreach($cursor as $obj) {
echo "<div class='item' id='" . $obj['_id'] . "'>";
echo "<span class='listnick'>" . $obj['nick'] . "</span>";
echo "</div>";
}
var_dump 的结果如下:
array(2) {
[0]=>
&array(9) {
["_id"]=>
object(MongoId)#9 (1) {
["$id"]=>
string(24) "50af8dcd9cc231534400000c"
}
["nick"]=>
string(6) "safari"
}
[1]=>
array(9) {
["_id"]=>
object(MongoId)#8 (1) {
["$id"]=>
string(24) "50af8dca9cc2315644000009"
}
["nick"]=>
string(6) "chrome"
}
}
所以很明显foreach应该打印出“safari”和“chrome”,但问题真的很奇怪:
有时它会返回两次“safari”并省略“chrome”,反之亦然。我尝试将 var_dump 和 foreach 循环放在附近,以确保它们是相同的,并且两个命令之间的对象没有变化,但我真的不知道发生了什么。
有什么帮助吗?提前致谢。