如何在给定的时间间隔内显示循环元素


how to display loop elements with in a given time interval?

是否可以在PHP中显示一段时间内的任何循环例如:-我喜欢在5分钟后显示1,它将显示2。任何帮助都将是巨大的。提前谢谢。

Cron Job示例

#!/usr/bin/env php
<?php
# This file would be say, '/usr/local/bin/run.php'
// code
echo "this was run from CRON"

然后,在crontab中添加一个条目:

* * * * * /usr/bin/php -f /usr/local/bin/run.php &> /dev/null

来源:https://stackoverflow.com/a/18737637/3793639

如果您在长时间运行php脚本(循环)中需要这个,那么您可以使用time()来获取每个间隔的起始时间。

$start = time();
$cnt = 0;
while (1) # your loop
{
  $now = time();
  if($start +(5*60)>=$now)
  {
     $start = $now;
     $cnt++;
     echo $cnt;
  }
}

也许将它与flush()结合起来,这就是您需要测试它的地方。

if (ob_get_level() == 0) ob_start();
for ($i = 0; $i<10; $i++){
        echo "<br> Line to show.";
        echo str_pad('',4096)."'n";    
        ob_flush();
        flush();
        sleep(2);
}
echo "Done.";
ob_end_flush();
?>

foreach (range(1, 10) as $number) {
    echo $number;
    sleep(60);
}

此处