php小時份幾段 整理數(shù)據(jù)

$min = 10*60; //秒

$start_date = strtotime("{$params['report_date']} 10:00:00");

$end_date = strtotime("{$params['report_date']} 23:00:00");

$list = array();

//整理出一個10分鐘一段的數(shù)組

while (true) {

? ? $i = 0;

? ? $s = $start_date;

? ? $start_date = $start_date+$min;

? ? $list[] = ['s'=>$s,'e'=>$start_date];

? ? $i++;

? ? if($start_date>=$end_date) {

? ? ? ? break;

? ? }

}

$result = array();

//循環(huán)列表和時間段對比如果在時間段里面整理成新的數(shù)組,不再則是0

foreach ($rsList as? $key=>$value) {

? ? foreach($list as $k=>$v) {

? ? ? ? $a = strtotime($value['create_time']);

? ? ? ? $s = $v['s'];

? ? ? ? $e = $v['e'];

? ? ? ? if($s<=$a&&$a<=$e) {

? ? ? ? ? ? $result[date("H:i",$s)][] = ($value['user_average_value']);

? ? ? ? ? ? unset($rsList[$key]);

? ? ? ? }else{

? ? ? ? ? ? $result[date("H:i",$s)][] = '0';

? ? ? ? ? ? unset($rsList[$key]);

? ? ? ? }

}

}

$newData =[];

計算出有值并不重復的總個數(shù),和值的合。整理成新的數(shù)組。

foreach ($result as $k=>$v){

? ? $count = count(array_filter($result[$k]));

? ? $sumval = array_sum($result[$k]);

? ? $val = sprintf("%.2f", $sumval/$count);

? ? $newData[$k] = $val;

}

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容