Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $flags = array();
- foreach ($res as &$v)
- {
- for ($i = $start_time; $i <= $end_time; $i = $i + (60 * 10))
- {
- if (!isset($flags[$v['crew_id']][$i]))
- {
- $flags[$v['crew_id']][$i] = true;
- }
- if ($i >= $v['begin'] && $i <= $v['end'])
- {
- $flags[$v['crew_id']][$i] = false;
- }
- }
- }
- foreach ($flags as $k => $v)
- {
- $l1 = 0;
- $l2 = 0;
- foreach ($flags[$k] as $k1 => $v1)
- {
- if ((!isset($flags[$k][$k1 - 600]) || !$flags[$k][$k1 - 600]) && $v1)
- {
- $xor_per[$k][$l1]['begin'] = $k1;
- $l1++;
- }
- if ((!isset($flags[$k][$k1 + 600]) || !$flags[$k][$k1 + 600]) && $v1)
- {
- $xor_per[$k][$l2]['end'] = $k1 == $end_time ? $end_time : $k1 + 600;
- $l2++;
- }
- }
- unset($flags[$k]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement