是用for+switch可以输出一段指定的语句,for ($i=1; $i<=10; $i++)
{
  switch ($i)
{
case 1:
echo "1";
echo "<BR>" ;  break;  
case 2:
  echo "2";
echo "<BR>" ;
  break;
case 3:
echo "3";
echo "<BR>" ;
break;
case 4:
echo "4";
echo "<BR>" ;
break;
case 5:
echo "5";
echo "<BR>" ;default:
  echo "OK";
}例如以上语句可以在i等于某个数时输出某个数字,
但是现在1-5个数字是瞬间输出,请教可以用什么方法让这5个数字隔几秒再输出,比如输出1后隔5秒输出2,再隔5秒输出3
还有个问题,上面的代码只能输出一次,就是说输出1-5个数字后就不输出了,请教有没什么办法可以循环输出1-5个数
就是说,输出完1-5之后,把i变成1,又重新输出一次

解决方案 »

  1.   

    1.加上 sleep(5)2.switch($i%5)
      

  2.   

    用了sleep函数,
    结果还是会一次性输出,并没有输出一个,过5秒,再输出一个的形式
    把ajax调用时间改成30秒还是一样的结果,无法一个一个的输出
      

  3.   

    如果你给他加个计时器你又发现有作用了.问题不在sleep而在于你没有意识到php是处理完所有代码再输出结果.
    如果你要像打字机那样显示,那么请使用js来控制.
      

  4.   

    妞妞说的是不是用js的setTimeout的方法?
      

  5.   

    js 有两个函数.setTimeout是其中之一.
      

  6.   

    延时 5 秒输出,需要
    flush();
    ob_flush();
    sleep(5);  对于 ie 浏览器,还需
    echo $i . str_repeat(' ', 256);
    即每次输出不能少于 256 字节达到此效果的充分必要条件是 output_buffering = off