php连续留存与留存人数计算

王朝学院·作者佚名  2016-08-27  
宽屏版  字体: 小 | 中 | 大 | 超大  

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;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有