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

// OR  

$big_data = $db->bigQuery(); 
foreach($big_data as $i => $d) { 
    // more code 
} 
  • 是什麼在性能上的差異?
  • 大數據有一定差異嗎?
  • 未來的代碼有什麼區別?
  • 是否存在一些最佳實踐?

編輯:實驗什麼是更好的方法

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,而是專注於讓你的問題更好。事實上,這真的不好。注意:我沒有倒下你。希望我的評論有幫助。 – Mjh

回答

0

我者優先使用第二個....這樣的foreach和調用是每一個相同

這個小例子說明一些意想不到的事情

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

    } 
    die; 
    ?> 

正如你看到的時候.. 。該功能將被執行在5次爲功能

EDIT到測試

但只能在foreach函數中執行一次。

+0

這不是真的「呼籲foreach和每一次都是一樣的」看到更新的問題 – Martin

+0

對不起我的壞英語...我想留下深刻的印象,這對我來說是相同的編碼過程...建立一個變量和然後在函數中使用 – donald123

+0

我認爲我很好理解,請參閱我的實驗 – Martin

相關問題