Извличане на часове от Базата Данни с php

Здравейте имам следния казус:

В базата данни имам следния запис на курсове на градски автобуси:

*Линия - 1*
Славянска 07:00 - Кремък 07:30 ;
Славянска 08:00 - Кремък 08:30 ;
Славянска 09:00 - Кремък 09:30 ;
*Линия - 12*
Динамо 10:00 - Кауфланд 10:30 ;
Динамо 10:30 - Кауфланд 11:00 ;
Динамо 11:00 - Кауфланд 11:30 ;
*Линия - Нова*
Обръщало 16:00 - Кремък 16:30 ;
Обръщало 17:00 - Кремък 17:30 ;
Обръщало 18:00 - Кремък 18:30 ;

Как с php мога да покажа следния резултат:
Линия - 1 - 07:00 - 09:30 (т.е. Линия - 1 шофьорът е карал от 07:00 до 09:30)
Линия - 12 - 10:00 - 11:30 (т.е. Линия - 12 шофьорът е карал от 10:00 до 11:30)
Линия - Нова - 16:00 - 17:30 (т.е. Линия - Нова шофьорът е карал от 16:00 до 18:30)

Да поясня отново - трябва да покажа името на линията и първия и последния час на отделните спирки.


Ако сведа записите само до (например):
Обръщало 16:00 - Кремък 16:30 ;
Обръщало 17:00 - Кремък 17:30 ;
Обръщало 18:00 - Кремък 18:30 ;

Началния и крайния час го вземам със следния код:


Код:
//$document съдържа следната информация:
//Обръщало 16:00 - Кремък 16:30;
//Обръщало 17:00 - Кремък 17:30;
//Обръщало 18:00 - Кремък 18:30;



   $ex = explode(";", trim($document, ";"));
   foreach ($ex as $ex_show) {
       $tekst = explode(" - ", $ex_show);
       foreach ($tekst as $tekst_show) {
           $chas_ex = explode(' ', $tekst_show);
           $times[] = $chas_ex['1'];
       }
   }
   rsort($times);

   //инициализиране на началния час
   $startHour = $times[count($times) - 1];
   //тук $startHour = '16:00';

   //инициализиране на крайния час
   $finishHour = $times[0];
   //тук $finishHour = '18:30';
 

AMitrev

Well-Known Member
Ибаси!

Нека приемем, че имаш стринг, който съдържа следното:
Код:
*Линия - 1*
Славянска 07:00 - Кремък 07:30 ;
Славянска 08:00 - Кремък 08:30 ;
Славянска 09:00 - Кремък 09:30 ;
Прилагаш следният regex - /(\d{2}:\d{2})/gm (Виж повече). Първият елемент ти е началният час, а последният крайният.

Хайде сега си представи ако отделиш повече от 1 минута какво може да постигнеш.
 

Горе