一:获取上个月1号----上月 月尾
function getlastMonthDays($date){
$timestamp=strtotime($date);
$firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));
$lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
return array($firstday,$lastday);
}
$times = getlastMonthDays(strtotime(date('Ymd'))); //返回数组
二:获取这个月所有天数封装数组
$days = date("t");
$arr=array();
for($i=1;$i<=$days;$i++){
$arr[]=date("Y-m")."-".$i;
}
三:获取指定时间所有数据
$nus=array();
$res=array();
$datas=array();
$t= date('t');
$date_start= strtotime(date('Ymd'));
$month_start = strtotime(date('Ym01'));
$days = date("t");
$arr=array();
for($i=1;$i<=$days;$i++){
$arrs[]=date("Y-m")."-".$i;
}
$time="";
foreach ($arrs as $va){
$b=$va;
$time.="'$b'".","; //1号 -30号
}
$i= ( $date_start- $month_start )/86400; //今天是月内多少天数
for($i;$i>=0;$i--){
$cha="";
$arr=array();
$times=date('Y-m-d', strtotime("-$i days"));
foreach ($data as $key=>$val){
if(date("Y-m-d",$val['createtime'])==$times){
$cha.=$key.","; //时间日期 2016-9-10
}
$nus[$times]=trim($cha,","); //清除最后一位逗号
$res[$times]=explode(",",$nus[$times]); //把符合当天的数据装在为一天数组里面
if($res[$times][0]===""){ //如果为空转化为空数组(防止explode钻空)
$res[$times]=array();
}
}
$arr['time']=$times;
$arr["val"] =empty($res)?"0":count($res[$times]);
$datas[] = $arr;
}
$peo="";
foreach ($datas as $k=>$v){
$a=$v['val'];
$peo.="'$a'".",";
}
$time=trim($time,",");$peo=trim($peo,",");
$chartArray = '{"labels":['.$time.'],"datasets":[{"fillColor":"rgba(151,187,205,0.2)","strokeColor":"rgba(151,187,205,1)","pointColor":"rgba(151,187,205,1)","pointStrokeColor":"#fff","pointHighlightFill":"#fff","pointHighlightStroke":"rgba(151,187,205,1)","label":"\u8fd1\u671f\u8bbf\u95ee\u91cf","data":['.$peo.']}]}';原创文章,转载请标明出处!