最近在做个页面时,遇到要PHP程序中实现延迟当前进程问题。由于接触PHP时间有限,想当然的认为PHP中实现此功能的函数也是sleep()。事实上,在PHP中的确有这个函数,但在我尝试了半天后,却始终不能实现我要的逻辑。PHP5手册中,对这个函数是这样描述的:sleep -- Delay execution。当我百度了以后,才知道这个函数并不是延迟当前进程,而是延迟当前脚本的执行,就是页面的执行。
我们来看下面这段代码,就可以明白了。
<?php
$i=0;
while(1)
{
echo($i);
echo(' ');
$i++;
sleep(2);
if(5==$i)
break;
}
?>
运行结果是:10秒后,同时输出“0 1 2 3 4”
并不是:先0,两秒后1,四秒后2,六秒后3,八秒后4,十秒后结束