2017-01-23 20 views
-1
foreach($db->bigQuery() as $i => $d) { 
    // more code 
} 

// OR  

$big_data = $db->bigQuery(); 
foreach($big_data as $i => $d) { 
    // more code 
} 
  • 性能の違いは何ですか?
  • ビッグデータに若干の違いはありますか?
  • 将来のコードの違いは何ですか?
  • いくつかのベストプラクティスがありますか?

EDIT:実験より良いアプローチは何ですか

function experiment() { 

    echo 'experiment'."\n"; 

    return array('1' => '1', 
       '2' => '2', 
       '3' => '3', 
       '4' => '4', 
       '5' => '5', 
       '6' => '6'); 
} 

foreach(expetiment() as $i => $d) { 
    echo $i.'-'.$d."\n"; 
} 

戻り

experiment 
1-1 
2-2 
3-3 
4-4 
5-5 
6-6 

結果:機能experiment()は一度だけ呼ばれます。

+0

あなたが知らないなら、あなたはいつもdownvote .. thx – Martin

+1

あなたはあなた自身でこの質問に答えることができたので、downvoteを得ました。誰かがこの質問に答えるためには、その人はあなたの代わりに仕事をしなければなりません。機能的には違いはありません。したがって、パフォーマンスに違いはありません。情報はPHPによって内部的にバッファされるので、ループの選択は全く重要ではありません。だから、私はいくつかの未知のdownvoterにジャンプする代わりに、あなたの質問をより良くすることに焦点を当てることをお勧めします。そうであるように、それは本当に良くありません。注:私はあなたをdownvoteしなかった。私のコメントが役立つことを願っています – Mjh

答えて

0

私はforeachののとの呼び出しは、あなたが見るのと同じ

たびは、この小さな例では、いくつかの予期せぬ事

<?php 
    function dotest() { 
     echo "go"; 
     return 4; 
    } 
    for($i=0; $i < dotest(); $i++) { 

    } 
    die; 
    ?> 

を示しているので....秒1を使用することを好ま.. 。機能は、テスト

TO ための機能で5回

EDITを実行されます0

foreachに1回のみエグゼクティブを実行します。

+0

それは真実ではありません "foreachの呼び出しと毎回同じです"更新された質問を参照してください – Martin

+0

私の悪い英語のために申し訳ありません...私は印象づけたい、それは私のために同じコーディングプロセス...関数内で使用してください – donald123

+0

私はよく分かりますが、私の実験を参照してください – Martin

関連する問題