Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在这个ob_flush示例中,sleep()和usleep()之间有什么区别_Php - Fatal编程技术网

Php 在这个ob_flush示例中,sleep()和usleep()之间有什么区别

Php 在这个ob_flush示例中,sleep()和usleep()之间有什么区别,php,Php,我正在尝试学习ob\u start,ob\u flush功能,我在互联网上找到了这段代码 if (ob_get_level() == 0) ob_start(); for($i=0;$i<1000;$i++) { echo "$i<br />"; ob_flush(); flush(); usleep(30000); // sleep(0.03); } if(ob_get_level()==0)ob_start(); 对于($

我正在尝试学习
ob\u start
ob\u flush
功能,我在互联网上找到了这段代码

if (ob_get_level() == 0) ob_start();
for($i=0;$i<1000;$i++)
{
    echo "$i<br />";

    ob_flush();
    flush();
    usleep(30000);
        // sleep(0.03);
}
if(ob_get_level()==0)ob_start();

对于($i=0;$i而言,睡眠延迟程序执行的时间为给定的秒数,而延迟程序执行的时间为给定的微秒数。

不能将分数用作睡眠的参数

这里0.03将被转换为整数

sleep(0);
因此PHP将休眠0秒


如果你想睡眠几秒钟,你必须使用or。

我想我已经找到了一个答案来解答你的困惑:

sleep(0.03)
不工作,因为它需要一个整数。
sleep(0.03)
被解释为
sleep(0)

这就是为什么还有一个函数
usleep()


我猜这三个不同的函数是函数如何构建的结果-要求整数-因为最大整数的值取决于平台。32位的最高整数是2147483647。64位的最高整数是9223372036854775807。

我认为OP很清楚地意识到了这一点。我已经尝试了你的代码,并且已经成功了立即工作。它以3000毫秒的间隔在屏幕上很好地绘制数字0-999。这个问题很难回答。OP知道其中的区别,但他仍然希望将分数与
sleep()
(这行不通)。只需使用
usleep()
。这就是它的用途。@davidkonrad和Gerald Schneider是对的,sleep()只接受整数谢谢,现在我知道为什么我不能睡觉了,非常感谢
sleep(0);