首页 > 后端开发 > php教程 > 循环语句输出有关问题

循环语句输出有关问题

WBOY
发布: 2016-06-13 13:23:45
原创
934 人浏览过

循环语句输出问题
是用for+switch可以输出一段指定的语句,

for ($i=1; $i{
  switch ($i)
{
case 1:
echo "1";
echo "
" ;

  break;  
case 2:
  echo "2";
echo "
" ;
  break;
case 3:
echo "3";
echo "
" ;
break;
case 4:
echo "4";
echo "
" ;
break;
case 5:
echo "5";
echo "
" ;

default:
  echo "OK";
}

例如以上语句可以在i等于某个数时输出某个数字,
但是现在1-5个数字是瞬间输出,请教可以用什么方法让这5个数字隔几秒再输出,比如输出1后隔5秒输出2,再隔5秒输出3
还有个问题,上面的代码只能输出一次,就是说输出1-5个数字后就不输出了,请教有没什么办法可以循环输出1-5个数
就是说,输出完1-5之后,把i变成1,又重新输出一次


------解决方案--------------------
1.加上 sleep(5)

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

探讨

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

------解决方案--------------------
延时 5 秒输出,需要
flush();
ob_flush();
sleep(5);

对于 ie 浏览器,还需
echo $i . str_repeat(' ', 256);
即每次输出不能少于 256 字节

达到此效果的充分必要条件是 output_buffering = off


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板