PHP continuous Retention and retention count
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 ($todayPe Ople, $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;