php 每隔5分钟输出数组中的一部分

2025-03-19 13:47:27
推荐回答(5个)
回答1:

这个用写文件的方式保留初始时间,等循环一次之后再重置
$file="a.txt";
if(!file_exists($file))
{
$handle=fopen('a.txt','w');
fwrite($handle,time());
fclose($handle);
}
$start=file_get_contents($file);
$time=time();
$text = array('a','b','c','d','e');
$index=0;
$dif=$time-$start;
if($dif>5*60 and $dif<10*60)
{
$index=1;
}
elseif($dif>10*60 and $dif<15*60)
{
$index=2;
}
elseif($dif>15*60 and $dif<20*60)
{
$index=3;
}
elseif($dif>20*60 and $dif<25*60)
{
$index=4;
}
elseif($dif>25*60)
{
$handle=fopen('a.txt','w');
fwrite($handle,time());
fclose($handle);
$index=0;
}
echo $text[$index];

回答2:

for($i=0;$i{
echo $text[$i];
sleep(300);//sleep函数表示暂停300秒然后继续执行
if($i==(count($text)-1))//到最后一个元素后返回第一个继续执行
{
$i=0;
}
}
大概这么回事吧,代码我没测试,你可以试试看

回答3:

每天总共是1440分钟 这个是永远不变的,
每隔5分钟按照数组的顺序输出一次,如下代码:

$wxh = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15");
$wxsl=count($wxh);//数组总数量
$sjjg='5';//时间间隔 5分钟
$timea=date("H");//当前小时
$timeb=date("i");//当前分
$sa=$timea*60+$timeb;//计算当前时间总分钟
$s='1440';//每天总共是1440分钟
$ta=$wxsl*$sjjg;//走完一轮所花总时间=数组数量*时间间隔
$tb=intval($sa/$ta);//当前时间的总分钟除一轮花的时间,在向下取整,
$tc=$sa-$tb*$ta;//本轮次时间
$td=intval($tc/$sjjg);//本轮次时间除时间间隔向下取整就是当前轮次
echo $wxh[$td]."
"; //该轮次所在数组位置对应的结果

回答4:

不要在服务器上定时
可以在页面上加上 ,然后从服务器取数数据回来显示,这个是全页面刷新的,如果不想全页面刷新,用js的setTimeout函数,通过ajax设置回调函数来显示取回的数据

回答5:

$dd=date(i);
if($dd>0&&$dd<5){
echo(array["a"]);
}
....