如何让sleep函数在PHP中的for循环中做出适当的响应

如何让sleep函数在PHP中的for循环中做出适当的响应,php,audio,for-loop,delay,sleep,Php,Audio,For Loop,Delay,Sleep,我正在写一个脚本,得到一个八位数的数字,然后大声地读出来。在读出数字时,我希望两个数字之间有两秒钟的延迟。问题是,即使在使用sleep()设置了延迟之后,我的所有数字都会立即被读出,这会导致类似于召唤的音频,让我在每次调试中都更接近成为反基督者。这是我的密码。如何执行循环,以便将数字读取为例如2。。。。1.3.4.(其中……=2秒) for($counter=0;$counter您对睡眠的理解不正确。睡眠会延迟php脚本,从而延迟 来自服务器的响应,但您提供的结果网页将完全相同 无论有无睡眠。加

我正在写一个脚本,得到一个八位数的数字,然后大声地读出来。在读出数字时,我希望两个数字之间有两秒钟的延迟。问题是,即使在使用sleep()设置了延迟之后,我的所有数字都会立即被读出,这会导致类似于召唤的音频,让我在每次调试中都更接近成为反基督者。这是我的密码。如何执行循环,以便将数字读取为例如2。。。。1.3.4.(其中……=2秒)


for($counter=0;$counter您对睡眠的理解不正确。睡眠会延迟php脚本,从而延迟
来自服务器的响应,但您提供的结果网页将完全相同
无论有无睡眠。加载只需要更长的时间。您无法从php控制这一点

您必须以某种方式在客户端上执行此操作。例如,看看。

PHP是一个超文本预处理器。这意味着它的输出不能间歇发送到浏览器

你有两个选择

  • 创建所有不带自动播放的
    audio
    元素,并使用
    setInterval
  • 发出一系列AJAX请求,以获取启用自动播放功能的下一个
    audio
    元素。可以通过监听
    audio
    完成或再次使用
    setInterval
    来触发这些请求

  • 这个问题已经得到了回答,虽然我不想在评论部分说谢谢,但很难抗拒“谢谢大家”。
    for($counter=0; $counter<count($dbId); $counter++)
    {
        $fileName = array_search($dbId[$counter], $letterArray);
        echo "<audio src='../resources/audio/mp3/'.$fileName.'.mp3' autoplay></audio>";
        echo time() . "<br />";
        sleep(2);
    }