2014-08-27 2 views
0

У меня есть один массив.
проверить время и получить время объединения

Array 
(
    [0] => Array 
     (
      [starttime] => 08:00 
      [endtime] => 9.30:00 
     ) 

    [1] => Array 
     (
      [starttime] => 10:00 
      [endtime] => 11:00 
     ) 

    [2] => Array 
     (
      [starttime] => 10:00 
      [endtime] => 12:00 
     ) 

) 

я хочу некоторые вещи, как удалить между временем и временем возврата союза.
как

Array 
(
    [0] => Array 
     (
      [starttime] => 08:00 
      [endtime] => 09:30 
     ) 

    [2] => Array 
     (
      [starttime] => 10:00 
      [endtime] => 12:00 
     ) 

) 

здесь 8:00 и 9:30 холост никто другой не находится между ними в BCZ 10:00 - 11:00 больше до 9:30.
и 10:00 - 11:00 находится между 10:00 - 12:00, поэтому удалите второй объект, который отображает только первый и третий.
просто звоните, как получить время соединения.

Logic я думаю, что на них и получил одну логику.
сначала найти мельчайший запуск. и после этого проверьте, что любое другое значение находится между этим наименьшим запуском до конца.

Example

, как я могу сделать это.

+0

Покажите нам, что вы пробовали до сих пор. – TiMESPLiNTER

+0

да, показать нам, показать нам, показать нам !!!!! –

+0

@TiMESPLiNTER Я просто думаю, что есть какая-то логика и найти демо-версию этого http://codepad.viper-7.com/C7owRM – user3615293

ответ

0

Вот как вы можете сделать это

$array = array(
     array('starttime' => '08:00' , 'endtime' => '09:30') , 
     array('starttime' => '10:00' , 'endtime' => '11:00') , 
     array('starttime' => '10:00' , 'endtime' => '12:00') , 
    ); 

    $i=0; 
    foreach($array as $row){ 
     if(isset($array[$i-1])){ 
      $prev = $array[$i]; 
      if($row['starttime'] < $prev['endtime'] || $row['endtime'] > $prev['endtime']){ 
      unset($array[$i]); 
      } 
     } 
     $i++; 
    } 

    echo '<pre>'; 
    print_r($array); 

Вы можете вставить и тестовый код here.

ВЫВОД

Array 
    (
     [0] => Array 
      (
       [starttime] => 08:00 
       [endtime] => 09:30 
      ) 

     [2] => Array 
      (
       [starttime] => 10:00 
       [endtime] => 12:00 
      ) 

    ) 
Смежные вопросы