2014-04-29 96 views
1

我是執行循環,內部循環內部循環中有數據處理函數。php通過循環迭代時回顯結果

for($i = 0 ; $i <=680 ; $i = $i + 40) 
    { 
      $url = 'http://www.yelp.com/biz/franchino-san-francisco?start=80'; 
      $root = yelp($url); 
      var_dump($root); 
    } 

該循環需要很長時間才能執行,並且在整個循環完成時結果會在最後回顯。

如何在每次迭代中迴應結果?

其實這裏發生了什麼?做結果存儲在緩衝區,並在最後迴應或什麼?

+1

在循環的結束,你寫的var_dump($根),所以它會打印出結果。如果他每次都想寫它,只需在最後使用print_r或echo命令即可。 – KinjalMistry

+1

@ user3540050是的,但他希望它打印每個循環。但它打印一次。 –

+0

還有一件事是,你正在循環調用第三方API調用,所以每次調用第三方URL時,都需要一定的時間來進行這個循環。 – KinjalMistry

回答

4

PHP緩衝輸出。

如果你想輸出的東西到瀏覽器馬上就可以使用flush()ob_flush()功能:

for ($i = 0; $i <= 680; $i += 40) { 
    $url = 'http://www.yelp.com/biz/franchino-san-francisco?start=80'; 
    $root = yelp($url); 
    var_dump($root); 
    flush(); 
    ob_flush(); 
} 
+0

謝謝,它有幫助。 – user123

+0

還剩3分鐘到選定答案。 upvote如果你認爲這個問題會幫助其他人 – user123

1

如果您通過網頁執行PHP,這將是行爲。

PHP是一種服務器端語言,在將輸出顯示給客戶端之前,所有代碼都將被執行。 (使用瀏覽器)

如果你想在循環中顯示的結果,更好地利用控制檯/ CMD(命令行)

Here的東西,將幫助您使用PHP和命令行。