php 连续留存与留存人数计算
for($i = 0;$i <= $interval;$i++) {
$res = $model->turnround($today,$tomorrow,$flag);
$temp = array();
foreach($res as $value){
$inmatch = isset($value['inmatch']) ? json_decode($value['inmatch']) : array();
foreach($inmatch as $val) {
if(!in_array($val, $temp)) {
array_unshift($temp,$val);
}
}
}
$i==0 ? $total = count($temp) : "";
$temp = array_fill_keys($temp, $i);
foreach($temp as $k=>$v) {
if(array_key_exists($k,$stats)) {
$stats[$k] = $stats[$k].",".$v;
} else {
$stats[$k] = $v;
}
}
$today = $today + 86400;
$tomorrow = $tomorrow + 86400;
}
$strlen = ($interval+1)*2-1;
foreach($stats as $v) {
if(isset($v)) {
strlen(trim($v)) == $strlen ? $num++ : $num;
}
}
$ret['turnround']['all'] = $stats;
$ret['turnround']['total'] = $total;
$ret['turnround']['stats'] = count($stats);
$ret['turnround']['num'] = $num;
*/
$res = $model->turnround($today,$tomorrow,$flag);
$todayPeople = array();
foreach($res as $value){
$inmatch = isset($value['inmatch']) ? json_decode($value['inmatch']) : array();
foreach($inmatch as $val) {
if(!in_array($val, $todayPeople)) {
array_unshift($todayPeople,$val);
}
}
}
$todayNum = count($todayPeople);
$atToday = $today + $interval*86400;
$atTomorrow = $tomorrow + $interval*86400;
$atRes = $model->turnround($atToday,$atTomorrow,$flag);
$atPeople = array();
foreach($atRes as $v){
$atInmatch = isset($v['inmatch']) ? json_decode($v['inmatch']) : array();
foreach($atInmatch as $val) {
if(!in_array($val, $atPeople)) {
array_unshift($atPeople,$val);
}
}
}
$same = array_intersect($todayPeople,$atPeople);
$atNum= count($same);
$ret['turnround']['all'] = $todayPeople;
$ret['turnround']['total'] = $todayNum;
$ret['turnround']['stats'] = "";
$ret['turnround']['num'] = $atNum;
php 连续留存与留存人数计算的更多相关文章
- 用Redis bitmap统计活跃用户、留存
Spool的开发者博客,描述了Spool利用Redis的bitmaps相关的操作,进行网站活跃用户统计工作. 原文:http://blog.getspool.com/2011/11/29/fast-e ...
- Java初学者作业——编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数。
返回本章节 返回作业目录 需求说明: 编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数. 实现思路: 声明变量sum.count以及avg用于存储总成绩.班 ...
- MySQL计算销售员昨日各指标综合得分_20161206
数据需求如上,新增重激活以15天未下单为界定 SELECT d.销售员,(日销售额得分*0.6+日新增客户数得分*0.15+日客单价得分*0.1+日客户平均产品数得分*0.15)AS 综合得分,日销售 ...
- 使用java语言,将字符串中连续重复出现的字母变成“出现次数“+字母的格式
今天在简书上看到这样一道有趣的算法题: 解题思路 首先定义一个变量element,默认是字符串的第一个字符.以element为基准元素,去判断某个字符是否重复.然后再去定义一个变量count去记录重复 ...
- Flink:动态表上的连续查询
用SQL分析数据流 越来越多的公司在采用流处理技术,并将现有的批处理应用程序迁移到流处理或者为新的应用设计流处理方案.其中许多应用程序专注于分析流数据.分析的数据流来源广泛,如数据库交易,点击,传感器 ...
- 从B站、爱奇艺、映客的IPO上市,看国内视频公司的内容审核现状
本文由 网易云发布. 3月30日,中央电视台<经济半小时>栏目讲述了网络上的一个顽症——色情内容.在这期主题为<互联网上的“色诱”>的节目中,央视的记者揭示了色情直播的猖獗. ...
- HR数据分析常用的50个公式
HR数据分析常用的50个公式 HR经常需要和数据打交道,如入职率.离职率.加班费计算等.虽然日常工作中,单个数据的计算并不麻烦,但几十上百个累计在一起,确实很容易混淆,甚至计算失误.今天小编急HR之所 ...
- 二刷Cracking the Coding Interview(CC150第五版)
第18章---高度难题 1,-------另类加法.实现加法. 另类加法 参与人数:327时间限制:3秒空间限制:32768K 算法知识视频讲解 题目描述 请编写一个函数,将两个数字相加.不得使用+或 ...
- 如何深入理解 StatsD 与 Graphite ?
众所周知,StatsD 负责收集并聚合测量值.之后,它会将数据传给 Graphite,后者以时间序列为依据存储数据,并绘制图表.但是,我们不知道,基于 http 访问的图表在展示时,是基于每秒钟的请求 ...
随机推荐
- .NET DLR 上的IronScheme 语言互操作&&IronScheme控制台输入中文的问题
前言 一直以来对Lisp语言怀有很崇敬的心里,<黑客与画家>对Lisp更是推崇备至,虽然看了不少有关Lisp的介绍但都没有机会去写段程序试试,就像我对C++一样,多少有点敬畏.这个周末花了 ...
- 学习HTML5之表单
HTML5 的标准已经定了,应该火了,或者已经火了.那么是不是可以学习一下呢? 目前h5的主场还是在手机端,pc还是受困于浏览器的兼容,主要是IE在拖后腿.所以这里侧重的是手机里面的表现. 先来看看表 ...
- Nodejs与ES6系列4:ES6中的类
ES6中的类 4.1.class基本语法 在之前的javascript语法中是不存在class这样的概念,如果要通过构造函数生成一个新对象代码 function Shape(width,height) ...
- angular学习的一些小笔记(中)之基础ng指令
一.布尔属性指令: ng-disabled:就是ng-disabled=true-->就指向不可用 <!doctype html> <html ng-app="&qu ...
- jquery+jplayer实现歌词同步的mp3音乐播放器效果
实例预览 下载地址 实例代码 <div class="container"> <div class="demo"> <textar ...
- GifShot - 创建动态 GIF 的 JavaScript 库
GifShot 是一个可以创建流媒体,视频或图像的 GIF 动画的 JavaScript 库.该库的客户端特性使其非常便携,易于集成到几乎任何网站.利用最先进的浏览器 API ,包括 WebRTC , ...
- Winjs – 微软开源技术发布的 JavaScript 组件集
Winjs 是由微软开源技术的开发者推出的一组 JavaScript 组件,包括 ListView.ListView.Tooltip.DatePicker.Ratings 等等,帮助 Web 开发人员 ...
- FROONT – 超棒的可视化响应式网页设计工具
FROONT 是一个基于 Web 的设计工具,在浏览器中运行,使得各类可视化设计的人员都能进行响应式的网页设计,即使是那些没有任何编码技能的设计师.FROONT 使得响应式网页设计能够可视化操作,能够 ...
- 原生andriod浏览器回退后dom(click)事件全体失效问题探究
问题描述 今天同事遇到一个神一样的BUG: 在原生浏览器下,为dom元素绑定一个click事件,其中有个a标签外链,点击a后进入其他页面,点击浏览器后退后,页面点击事件全体失效! 我于是用ios测了下 ...
- 实现a标签中的各种点击(onclick)事件的方法
我们常用的在a标签中有点击事件:1. a href="javascript:js_method();"这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题, ...