2016-11-08 68 views
0

中指定的每個間隔上休眠我想在代碼中引入一些睡眠功能,以便我可以在指定的時間(時間間隔)調用某個函數。有沒有什麼辦法可以在php

我所需的輸出:

(1)在第一5 sec

im called 

(2)以10 sec(I,E 5秒+ 5秒)

im called // at first iteration of loop 



im called  // at second iteration of loop 

現在我正在使用

function curl_grab(){ 
    echo "im called<br/>"; 
} 

$arr = ['http://ab.com/','http://bc.com/']; 

foreach($arr as $el){ 
    curl_grab($el); 
    sleep(5); 
} 

,但與上面的代碼的問題是,它是在一時間傾倒一切

像這樣

im called 
im called 

我想一個由它一個

這裏是演示:http://phpio.net/s/ggr

+0

檢查http://stackoverflow.com/questions/18634546/command-sleep-to-暫停20秒 - 如果條件是遇見 –

+0

@SougataBose,代碼轉儲一切在同一時間,但我想要的東西像javascript setTimeout() – EaB

+0

PHP緩衝輸出。您可以嘗試強制刷新輸出,但還有很多其他的事情可能會阻止。 沖洗():http://php.net/manual/en/function.flush.php – geeves

回答

1

如果您正在使用瀏覽器來測試此代碼,您將只能看到輸出,因爲您只會在執行完PHP代碼後纔會看到輸出。您可以在終端中執行此操作以在發生時查看輸出。

寫代碼到test.php的

function curl_grab(){ 
    echo "im called\n"; 
} 

$arr = ['http://ab.com/','http://bc.com/']; 

foreach($arr as $el){ 
    curl_grab($el); 
    sleep(5); 
} 

要在終端執行,你可以鍵入

$ php /path/to/test.php 
+0

非常感謝你得到的東西非常感謝您的即時幫助 – EaB

相關問題