PHP sleep()函数
sleep() 是另一个 PHP 内置函数,用于延迟执行正在进行的内容一定的秒数。sleep()函数以秒为单位,并在成功时返回TRUE,在失败时返回FALSE。
如果调用被中断,sleep()函数将返回一个非零值。在Windows上,这个值通常为192,而在其他平台上,返回值将是剩余的睡眠秒数。
语法
Sleep ( $ seconds )
参数 PHP 的 sleep ( ) 函数只接受一个参数。
参数 | 描述 | 必填/可选 |
---|---|---|
$seconds | 此参数用于定义程序的延迟秒数。必须以毫秒为单位。 | 必填 |
sleep()函数在成功时返回TRUE,在失败时返回FALSE。
异常
- 如果调用被信号干扰,sleep()函数将返回一个非零的评估值。
- 传递给参数的秒数应该是非负的;否则,该函数将产生一个E_WARNING。
1. sleep()函数示例
这个示例将帮助你完全理解sleep()函数。
<!DOCTYPE html>
<html>
<body>
<?php
// displaying time
echo " <b> " .date('h:i:s') . " </b> " ." - as you can see the exact time before using the sleep function" ;
// delaying execution of the script for 2 seconds
sleep(2);
echo " <br> ";
echo " the sleep (2) will increase the display time by 2 seconds";
echo " <br> ";
// displaying time again
echo " <b> " .date('h:i:s') . " </b> " . " - as you can see the exact time after using the sleep function";
?>
</body>
</html>
输出:
示例2: 另一个示例帮助您理解sleep()函数。
<!DOCTYPE html>
<html>
<body>
<?php
// displaying time
echo " <b> " .date('h:i:s') . " </b> " ." - as you can see the exact time before using the sleep function" ;
// delaying execution of the script for 2 seconds
sleep(3);
echo " <br> ";
echo " the sleep ( 3 ) will increase the display time by 2 seconds";
echo " <br> ";
// displaying time again
echo " <b> " .date('h:i:s') . " </b> " . " - as you can see the exact time after using the sleep function";
?>
</body>
</html>
输出:
示例3: 这个函数将允许用户使用sleep()函数来增加随机时间间隔。
<!DOCTYPE html>
<html>
<body>
<?php
// displaying time
echo " <b> " .date('h:i:s') . " </b> " ." - as you can see the exact time before using the sleep function" ;
// using rand() function to randomly choose
// a value and delay execution of the script
echo " <br> ";
sleep(rand(1, 5));
echo " the rand ( 1 , 5 ) will increase the display time by any random seconds";
echo " <br> ";
// displaying time again
echo " <b> " .date('h:i:s') . " </b> " . " - as you can see the exact time after using the sleep function";
?>
</body>
</html>
输出:
示例4:演示多个sleep函数的使用
<!DOCTYPE html>
<html>
<body>
<?php
// displaying time
echo " <b> " .date('h:i:s') . " </b> " ." - as you can see the exact time before using the sleep function" ;
// delaying execution of the script for 10 seconds
sleep(10);
echo " <br> ";
echo " <b> " .date('h:i:s') . " </b> " . " - the sleep ( 10 ) will increase the display time by 10 seconds";
echo " <br> ";
// delaying execution of the script for 5 seconds again
sleep(5);
// displaying time again
echo " <b> " .date('h:i:s') . " </b> " ." - as you can see the exact time before using the sleep function as increased by ( 5 ) again " ;
?>
</body>
</html>
输出:
PHP time()函数
示例: 使用循环执行sleep的另一种方法
<!DOCTYPE html>
<html>
<body>
<?php
echo "time before using loop!" ."<br>";
echo date('h:i:s');
now = time();
while (now + 4 > time()) {
// sit idle
}
echo "<br>" . "time after using loop"."<br>";
echo date('h:i:s');
?>
</body>
</html>
输出:
这个程序展示了在不使用sleep()函数的情况下使用时间限制的不同方法。我们使用了time()函数。为了执行操作,我们声明了一个变量并将其赋值为time()函数,它是另一个内置的PHP函数,然后利用while循环并将变量递增4,以便在程序完全执行后继续进行4秒。
虽然它能完成工作,但存在两个问题。首先,time()函数的准确性非常低,只返回经过的整秒数,这使整个操作非常不明确。此外,PHP需要循环运行很多次,而不是暂停,这实际上是在闲着。一个更好的解决方案是使用两个文本重置功能之一,sleep()和usleep(),它们都有一定的停止执行时间作为主要限制。
注意:- sleep()和usleep()之间的区别在于sleep()需要多个秒数作为其限制,而usleep()则需要多个微秒(百万分之一秒)作为其限制。使用它们中的任何一个都比以前的time()循环更准确,而且它们都各有优势-如果不需要精度,则sleep()更好,而如果需要直接则usleep()更好。
PHP usleep()函数
语法
void usleep ( int micro_seconds)
示例: 这个函数将帮助完全理解 usleep() 函数
<!DOCTYPE html>
<html>
<body>
<?php
// displaying time
echo " <b> " .date('h:i:s') . " </b> " ." - as you can see the exact time before using the sleep function" ;
// delaying execution of the script for 2 seconds
usleep(2000000);
echo " <br> ";
echo " the sleep (2) will increase the display time by 2 seconds";
echo " <br> ";
// displaying time again
echo " <b> " .date('h:i:s') . " </b> " . " - as you can see the exact time after using the sleep function";
?>
</body>
</html>
输出:
在这个程序中,正如你可以看到的,sleep()函数的工作方式和sleep()函数完全相同,只有一个区别,sleep()函数将秒作为参数,而usleep()函数将毫秒作为参数。
注意:默认的最大内容执行时间是30秒,但是你可以使用sleep()和sleep()来延长你的内容执行时间,因为实际上PHP在休眠期间没有控制。