多语言展示
当前在线:614今日阅读:181今日分享:30

php 求连续登陆几天的算法

工作中一般会开发连续登陆几天,发多少积分的功能。下面是我做的求连续登陆天数的代码。
方法/步骤
1

先从数据库中查找登陆过的天数。这里一般会用到倒叙排序,和group去重。limit最大连续几日送积分的天数就可以了。

2

这里是测试逻辑//日期数组$day_list = array('2015-11-24','2015-11-22','2015-11-21');$continue_day = 1 ;//连续天数if(count($day_list) >= 1){    for ($i=1; $i<=count($day_list); $i++)    {        if( ( abs(( strtotime(date('Y-m-d')) - strtotime($day_list[$i-1]) ) / 86400)) == $i )        {            $continue_day = $i+1;        } else {            break;        }    }}echo $continue_day;    //输出连续几天die();

3

封装成函数就是这样function continue_day($day_list){    $continue_day = 1 ;//连续天数    if(count($day_list) >= 1)    {        for ($i=1; $i<=count($day_list); $i++)        {            if( ( abs(( strtotime(date('Y-m-d')) - strtotime($day_list[$i-1]) ) / 86400)) == $i )            {                $continue_day = $i+1;            } else {                break;            }        }    }        return $continue_day;    //输出连续几天}

推荐信息