thinkphp5统计本月每天注册的人数代码片段记录(注册时间为时间戳)
2018-02-27 15:51
489 查看
public function countMonthUsers() { $month = date('Y-m',time()); $prefix = config('database.prefix'); $semRes = Db::query("select FROM_UNIXTIME(create_time,'%Y-%m-%d') days,count(id) count from ".$prefix."user_submit WHERE FROM_UNIXTIME(create_time,'%Y-%m') = '".$month."' AND delete_time = 0 group by days"); $seoRes = Db::query("select FROM_UNIXTIME(create_time,'%Y-%m-%d') days,count(id) count from ".$prefix."user_submit WHERE FROM_UNIXTIME(create_time,'%Y-%m') = '".$month."' AND delete_time = 0 group by days"); // x 轴数据,作为 x 轴标注 $j = date("t"); //获取当前月份天数 $start_time = strtotime(date('Y-m-01')); //获取本月第一天时间戳 $xData = array(); for($i=0;$i<$j;$i++) { $xData[] = date('Y-m-d',$start_time+$i*86400); //每隔一天赋值给数组 } //处理获取到的数据 $ySemData = array(); if(!empty($semRes)) { foreach ($xData as $k=>$v) { foreach ($semRes as $kk=>$vv) { if($v == $vv['days']) { $ySemData[$k] = $vv['count']; break; }else{ $ySemData[$k] = 0; continue; } } } }else{ foreach ($xData as $k=>$v) { $ySemData[$k] = 0; } } $ySeoData = array(); if(!empty($seoRes)) { foreach ($xData as $k=>$v) { foreach ($seoRes as $kk=>$vv) { if($v == $vv['days']) { $ySeoData[$k] = $vv['count']; break; }else{ $ySeoData[$k] = 0; continue; } } } }else{ foreach ($xData as $k=>$v) { $ySeoData[$k] = 0; } } return [$xData,$ySemData,$ySeoData]; }上面代码用的thinkphp5框架,最后获取到的数据时下面的样子array(3) {
[0] => array(28) {
[0] => string(10) "2018-02-01"
[1] => string(10) "2018-02-02"
[2] => string(10) "2018-02-03"
[3] => string(10) "2018-02-04"
[4] => string(10) "2018-02-05"
[5] => string(10) "2018-02-06"
[6] => string(10) "2018-02-07"
[7] => string(10) "2018-02-08"
[8] => string(10) "2018-02-09"
[9] => string(10) "2018-02-10"
[10] => string(10) "2018-02-11"
[11] => string(10) "2018-02-12"
[12] => string(10) "2018-02-13"
[13] => string(10) "2018-02-14"
[14] => string(10) "2018-02-15"
[15] => string(10) "2018-02-16"
[16] => string(10) "2018-02-17"
[17] => string(10) "2018-02-18"
[18] => string(10) "2018-02-19"
[19] => string(10) "2018-02-20"
[20] => string(10) "2018-02-21"
[21] => string(10) "2018-02-22"
[22] => string(10) "2018-02-23"
[23] => string(10) "2018-02-24"
[24] => string(10) "2018-02-25"
[25] => string(10) "2018-02-26"
[26] => string(10) "2018-02-27"
[27] => string(10) "2018-02-28"
}
[1] => array(28) {
[0] => int(0)
[1] => int(0)
[2] => int(0)
[3] => int(0)
[4] => int(0)
[5] => int(0)
[6] => int(0)
[7] => int(0)
[8] => int(0)
[9] => int(0)
[10] => int(0)
[11] => int(0)
[12] => int(0)
[13] => int(0)
[14] => int(0)
[15] => int(0)
[16] => int(0)
[17] => int(0)
[18] => int(0)
[19] => int(0)
[20] => int(0)
[21] => int(0)
[22] => int(0)
[23] => int(30)
[24] => int(0)
[25] => int(6)
[26] => int(17)
[27] => int(0)
}
[2] => array(28) {
[0] => int(0)
[1] => int(0)
[2] => int(0)
[3] => int(0)
[4] => int(0)
[5] => int(0)
[6] => int(0)
[7] => int(0)
[8] => int(0)
[9] => int(0)
[10] => int(0)
[11] => int(0)
[12] => int(0)
[13] => int(0)
[14] => int(0)
[15] => int(0)
[16] => int(0)
[17] => int(0)
[18] => int(0)
[19] => int(0)
[20] => int(0)
[21] => int(0)
[22] => int(0)
[23] => int(0)
[24] => int(0)
[25] => int(0)
[26] => int(6)
[27] => int(0)
}
}
相关文章推荐
- 求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。
- 求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。
- 求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。
- VS2005代码统计插件教程,现在没有时间详细看, 先记录下来
- ASP.net中网站访问量统计方法代码(在线人数,本月访问,本日访问,访问流量,累计访问)
- 记录运行代码的时间长短
- 几个代码片段-计算程序运行时间+获得当前目录+生成MD5
- MySQL按时间统计每个小时记录数
- 工作过程中,一些代码片段记录
- 统计在线注册用户和游客人数
- 安装的小片段代码记录(持续更新)
- 利用js 获取本日 本周 本月时间代码
- PHP+Redis 消息队列 实现高并发下注册人数统计的实例
- Linux下完成时间统计的代码
- 代码片段:基于 JDK 8 time包的时间工具类 TimeUtil
- 网站在线人数以及历史访问人数的统计代码
- SQL DATEDIFF语法及时间函数 Sql 查询当天、本周、本月记录
- Android学习——记录代码片段
- php记录代码执行时间(实现代码)
- objective-c中的一些小代码片段记录