Advertisement
Rijen

Определение отрезка

Dec 16th, 2014
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.78 KB | None | 0 0
  1.         $flags = array();
  2.         foreach ($res as &$v)
  3.         {
  4.             for ($i = $start_time; $i <= $end_time; $i = $i + (60 * 10))
  5.             {
  6.                 if (!isset($flags[$v['crew_id']][$i]))
  7.                     {
  8.                     $flags[$v['crew_id']][$i] = true;
  9.                 }
  10.                 if ($i >= $v['begin'] && $i <= $v['end'])
  11.                 {
  12.                     $flags[$v['crew_id']][$i] = false;
  13.                 }
  14.             }
  15.         }
  16.  
  17.         foreach ($flags as $k => $v)
  18.         {
  19.             $l1 = 0;
  20.             $l2 = 0;
  21.             foreach ($flags[$k] as $k1 => $v1)
  22.             {
  23.                 if ((!isset($flags[$k][$k1 - 600]) || !$flags[$k][$k1 - 600]) && $v1)
  24.                 {
  25.                     $xor_per[$k][$l1]['begin'] = $k1;
  26.                     $l1++;
  27.                 }
  28.                 if ((!isset($flags[$k][$k1 + 600]) || !$flags[$k][$k1 + 600]) && $v1)
  29.                 {
  30.                     $xor_per[$k][$l2]['end'] = $k1 == $end_time ? $end_time : $k1 + 600;
  31.                     $l2++;
  32.                 }
  33.             }
  34.             unset($flags[$k]);
  35.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement