我已经完成了一个代码,可以根据每个日期调用一个值数组。我的代码如下:
$matchs = DiraChatLog::where('status','=','Match')->whereBetween('date_access', [$request->from, $request->to])->get();
$array[] = [];
foreach ($matchs as $key => $match) {
$array[$match->date_access] = $match->status;
}
dd($array);
我现在要做的是首先将相同的日期组合在一起,然后我想计算那些日期的总数。我怎么能这样做?
答案 0 :(得分:2)
不确定你的意思" date"。但如果你的意思是同一天,那就是:
$matchs = DiraChatLog::where('status','=','Match')->whereBetween('date_access', [$request->from, $request->to])->get();
$array[] = [];
foreach ($matchs as $key => $match) {
$day = substr($match->date_access, 0, 10);
if(isset($array[$day])){
$array[$day]++;
}else{
$array[$day] = 1;
}
}
dd($array);
答案 1 :(得分:0)
$array= array();
$arrayCount=array();
foreach ($matchs as $key => $match) {
$time = strtotime($match->date_access);
$newformat = date('Y-m-d',$time);
if(!array_key_exists($newformat , $array)){
$i=1;
$array[$newformat]=$match->status;
}
//$array[$newformat]=$i; remove this comment if you want the count inside
$arrayCount[$newformat]=$i;
$i++;
}
如果您希望在数组中保持“匹配”值,而不仅仅是取消注释代码和卸载$ arrayCount事件