我想用我的数据计算总分钟数。
[{ “ID”:3 “zone_id”:21, “created_at”:“2017年6月22日 9时49分33" 秒, “的updated_at”:“2017年6月22日 09:49:33“,”deviceNo“:”ogrv“,”type“:”0“},{”id“:4,”zone_id“:22,”created_at“:”2017-06-22 9" 时50分09秒, “的updated_at”:“2017年6月22日 09:50:09“,”deviceNo“:”ogrv“,”type“:”1“},{”id“:5,”zone_id“:21,”created_at“:”2017-06-22 9时50分35" 秒, “的updated_at”:“2017年6月22日 09:50:35“,”deviceNo“:”ogrv“,”type“:”0“},{”id“:6,”zone_id“:22,”created_at“:”2017-06-22 11时51分52" 秒, “的updated_at”:“2017年6月22日 11:51:52“,”“deviceNo”:“ogrv”,“type”:“1”},{“id”:7,“zone_id”:21,“created_at”:“2017-06-22 11点54分57" 秒, “的updated_at”:“2017年6月22日 11:54:57“,”deviceNo“:”ogrv“,”type“:”0“},{”id“:8,”zone_id“:22,”created_at“:”2017-06-22 11:57:17“,”updated_at“:”2017-06-22 11:57:17“,”deviceNo“:”ogrv“,”type“:”1“}]
如果类型0将到来,我将开始计算直到类型1.我如何用php计算它?
每种类型都意味着不同的行为,所以当不同的行动来临时,我需要计算这2个数据之间的分钟数。
例如,First Data附带类型0表示用户在内部,然后第二个数据带有类型1,这意味着用户不在内部。我需要计算这些数据之间的总分钟数。
答案 0 :(得分:1)
看看这个,可以帮助你
如果您将数据库表模型作为Model,
$data = Model::all()->toArray();
$diff_array = array();
for($i=0; $i<count($data)-1; $i++){
$first = $data[$i];
$second = $data[$i+1];
if($first['type']==0 && second['type'] == 1){
// Calculate difference between $first['created_at] and $second['created_at'] as $diff_time
// you can parse string date using Carbon and calculate diffrence.
array_push($diff_array,$diff_time);
}
else if($first['type']==1 && second['type'] == 0){
// Calculate difference between $first['created_at] and $second['created_at'] as $diff_time
array_push($diff_array,$diff_time);
}
}
// dump the array to view differences
dd($diff_array);