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 访问的图表在展示时,是基于每秒钟的请求 ...
随机推荐
- Unsupported configuration attributes: [FILE_UPLOAD]
Caused by: java.lang.IllegalArgumentException: Unsupported configuration attributes: [FILE_UPLOAD] 情 ...
- 玩转Docker之安装篇(二)
按理说,安装软件最好是按照官方文档进行,但由于国内网络的局限性,使我们不得不搭梯子,但终究太麻烦.鉴于此情况,我推荐方案一,利用某公司的加速站点来安装,而且是傻瓜式的,非常方便. 方案一: 在linu ...
- FancyBox - 经典的 jQuery Lightbox 插件
FancyBox 是一款非常优秀的弹窗插件,能够为图片.HTML 内容和其它任务的多媒体内容提供优雅的弹出缩放效果.作为是最流行的 Lightbox 插件之一,可以通过 fitToView 实现自适应 ...
- 唯美!分享8款响应式的 WordPress 餐厅主题
您是否拥有一个餐厅,酒吧,咖啡馆,小酒馆,比萨饼店?如果答案是肯定的,请确保您在网上也提供服务.为了使您的工作更轻松,我们选择了一些新的和独特的餐厅主题,覆盖了范围很广的食品企业.这些主题提供了很多很 ...
- (转)高性能JavaScript:加载和运行(动态加载JS代码)
浏览器是如何加载JS的 当浏览器遇到一个<script>标签时,浏览器首先根据标签src属性下载JavaScript代码,然后运行JavaScript代码,继而继续解析和翻译页面.如果需要 ...
- ae_datagridview显示属性
public partial class FrmAttributeTable : Form { private AxMapControl m_MapCtl; public FrmAttributeTa ...
- 如何排查sharepoint2010用户配置文件同步服务启动问题
用户配置文件同步服务与 Microsoft Forefront Identity Manager (FIM) 交互,以与外部系统(如目录服务和业务系统)同步配置文件信息.启用用户配置文件同步服务时,将 ...
- openlayers方法总结
openlayers中的一些方法:OpenLayers.Layer::initialize:创建层Div,注册事件:destroy:注销:clone:克隆当前层:setName:设置层name:add ...
- 如何在Infraworks中创建多树种组成的森林
在Infraworks 2014中,你可以有shp文件导入生成树木和森林,也可以直接在模型中规划一片区域作为森林.美中不足的就是,这些充其量叫树林不能叫森林,因为他们的样式都是一个树种,而真正的森林肯 ...
- laravel的一些坑
1.laravel 本身的性能不行,对高性能服务器,需要使用lumen 2. {{$url}} 默认会执行 htmlentities ,进行转意义,如果不需要转义可直接使用 php的echo 或者 { ...