把时间间隔大于300秒的数组拆开,处理成三位数组。原始数组:$arr=Array('100'=>Array('46'=>'2018-01-1814:30:30','36'=>'2018-01-1814:31:11','41'=>'2018-01-1814:32:40','43'=>'2018-01-1815:48:22','50'=>'2018-01-1816:48:00','51'=>'2018-01-1816:50:30','52'=>'2018-01-1816:51:22',),'101'=>Array('35'=>'2018-01-1814:46:03','38'=>'2018-01-1814:46:51','39'=>'2018-01-1814:47:04','40'=>'2018-01-1814:47:15','44'=>'2018-01-1815:48:39','53'=>'2018-01-1815:58:39','54'=>'2018-01-1816:01:20',),'102'=>Array('37'=>'2018-01-1814:46:42','42'=>'2018-01-1815:48:03','45'=>'2018-01-1816:49:19','55'=>'2018-01-1817:49:11','56'=>'2018-01-1819:50:19','57'=>'2018-01-1819:52:10',));处理后的数组$arr=Array('100'=>Array(0=>Array('46'=>'2018-01-1814:30:30','36'=>'2018-01-1814:31:11','41'=>'2018-01-1814:32:40',),1=>Array('43'=>'2018-01-1815:48:22',),2=>Array('50'=>'2018-01-1816:48:00','51'=>'2018-01-1816:50:30','52'=>'2018-01-1816:51:22',),),'101'=>Array(0=>Array('35'=>'2018-01-1814:46:03','38'=>'2018-01-1814:46:51','39'=>'2018-01-1814:47:04','40'=>'2018-01-1814:47:15',),1=>Array('44'=>'2018-01-1815:48:39','53'=>'2018-01-1815:58:39',),2=>Array('54'=>'2018-01-1816:01:20',)),'102'=>Array(0=>Array('37'=>'2018-01-1814:46:42',),1=>Array('42'=>'2018-01-1815:48:03',),2=>Array('45'=>'2018-01-1816:49:19',),3=>Array('55'=>'2018-01-1817:49:11',),4=>Array('56'=>'2018-01-1819:50:19','57'=>'2018-01-1819:52:10',)));求助各位大牛,多谢!
2 回答
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
foreach($arras&$item){$tmp=[];$current=0;foreach($itemas$key=>$value){if(strtotime($value)-$current>300){$tmp[]=[];}$tmp[count($tmp)-1][$key]=$value;$current=strtotime($value);}$item=$tmp;}var_dump($arr);
蝴蝶不菲
TA贡献1810条经验 获得超4个赞
$aArrDel=array();foreach($arras$key=>$aValue){$i=0;$iBeforeTime=0;foreach($aValueas$iNode=>$v){$iTime=strtotime($v);$iTimeSub=$iTime-$iBeforeTime;if($iTimeSub>300&&!empty($aArrDel[$key])){$i++;}$aArrDel[$key][$i][$iNode]=$v;$iBeforeTime=$iTime;}}
添加回答
举报
0/150
提交
取消