1

私はmongoDB PHPを使用しています。検索クエリまたは集計フレームワークを使用すると、結果はカーソルになり、foreachループまたはwhileループを使用してカーソルを反復処理できます。たとえば、実行する次のクエリがあります

$result = $collection->find();

次の2つの方法を使用して、結果を反復処理できます

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すると、コードが少し読みやすくなります。The PHP Benchmarkで書き込み/読み取りループのパフォーマンスを確認できます。

于 2016-03-23T14:38:46.403 に答える