1

我正在使用 mongoDB PHP,当我使用 find 查询或聚合框架时,结果是一个游标,我可以使用 foreach 循环或 while 循环遍历游标。例如我有以下查询要执行

$result = $collection->find();

我可以使用以下两种方法迭代结果

1- foreach($result as $mongoid => $doc) {
        echo "mongoid is " . $mongoid;
        print_r($doc);
    }

2- while ( $result->hasNext() ) {
       $doc = $result->getNext();  
       $result->next();  
       print_r( $doc );
       echo "find one doc in cursor\n";

   }

上述哪种迭代方法最好,为什么?

4

1 回答 1

0

foreach使用时或while在这种情况下没有任何显着差异。读取循环性能是相同的。使用foreach使您的代码更具可读性。您可以在PHP Benchmark上检查写/读循环性能。

于 2016-03-23T14:38:46.403 回答