PHP的foreach如何使用MongoDB游标?
我们使用MongoDB驱动程序中的某些函数来迭代游标,我们可以使用“hasNext()”和“getNext()”。但我们也可以使用简单PHP的foreach来迭代游标,而不必调用上述方法 我的问题是,如果foreach是一个简单的PHP函数,它如何与MongoDB一起工作?它如何从游标中获取记录?它是在内部使用MongoDB的“cursor.forEach()”,还是在内部运行“hasNext()”和“getNext()” 任何帮助都将不胜感激。该类实现了PHP的foreach如何使用MongoDB游标?,php,mongodb,foreach,Php,Mongodb,Foreach,我们使用MongoDB驱动程序中的某些函数来迭代游标,我们可以使用“hasNext()”和“getNext()”。但我们也可以使用简单PHP的foreach来迭代游标,而不必调用上述方法 我的问题是,如果foreach是一个简单的PHP函数,它如何与MongoDB一起工作?它如何从游标中获取记录?它是在内部使用MongoDB的“cursor.forEach()”,还是在内部运行“hasNext()”和“getNext()” 任何帮助都将不胜感激。该类实现了迭代器接口。因此,foreach调用光标
迭代器
接口。因此,foreach
调用光标与调用$cursor->next()
相同,然后检查$cursor->valid()
,然后从$cursor->current()
获取值(重复操作,直到valid
为false
)。对于$key=>$value
格式,它还获取$cursor->key()
的值
它执行一些内部运行,但不运行“hasNext()”和“getNext()”等。它运行在Iterator
接口中抽象描述的标准方法
抱歉我的挑剔,但是foreach
不是“简单的PHP函数”;这是一种语言结构。关于堆栈溢出,我刚刚找到了一个很好的解释