2016-10-18 2 views
0

Я просто ищу некоторые советы о том, как я разработал наилучшие слоты для встреч. Так что собрания учеников не пересекаются и не слишком далеко. Я пытаюсь выработать рекомендуемые времена, чтобы родитель мог видеть лучшие слоты для книги, чтобы они не ждали.Лучший способ определить, какое время лучше всего нажать в массив?

например, как он должен работать:

Родитель 1:

Child 1 and Child 2 

Встреча 1:

Slot `2016-10-07 14:00:00` (free)(duration 10mins)(Child 1) 
Slot `2016-10-07 14:10:00` (free)(duration 10mins)(Child 2) 
Slot `2016-10-07 14:20:00` (free)(duration 10mins) 

Встреча 2:

Slot `2016-10-07 14:15:00` (free)(duration 5mins) 
Slot `2016-10-07 14:20:00` (free)(duration 5mins)(Child 1) 
Slot `2016-10-07 14:25:00` (free)(duration 5mins)(Child 2) 

Встреча 3:

Что было бы лучшим способом проверить, что время еще не было сохранено в массиве, и если время уже сохранено, тогда проверьте в следующий раз, чтобы узнать, может ли время соответствовать другим временам в зависимости от продолжительности?

Вам не нужно использовать мои данные, пример будет полезен. Заранее спасибо.

данных У меня до сих пор:

Ученики:

Array 
(
    [0] => pupil Object (
      [id] => 48307 
      [school_id] => 1 
      [grade_id] => 87 
      [firstname] => Callum 
      [surname] => Lacey 
      [gender] => M 
      [username] => callum 
      [password] => callum 
      [avatar] => 003_large.gif 
      [uuid] => 
      [active] => 1 
      [deleted] => 0 
      [inserted] => 2015-09-14 10:57:29 
      [updated] => 2016-09-15 13:09:07 
      [login] => 2016-09-26 15:07:15 
     ) 

    [1] => pupil Object (
      [id] => 79571 
      [school_id] => 1 
      [grade_id] => 87 
      [firstname] => Daniel 
      [surname] => Lacey 
      [gender] => M 
      [username] => daniellacey 
      [password] => password123 
      [avatar] => 003_large.gif 
      [uuid] => 
      [active] => 1 
      [deleted] => 0 
      [inserted] => 2016-07-06 10:51:26 
      [updated] => 2016-09-15 12:23:53 
      [login] => 2016-09-23 13:09:28 
     ) 
) 

Loaded всех слотов конференц которые свободны:

Array 
(
    [0] => meeting Object ( 
      [errors] => 0 
      [id] => 1812 
      [title] => Parent Evening 1 - 2016-10-07 14:00 
      [slot_id] => 31305 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:00:00 
      [endTime] => 2016-10-07 14:10:00 
     ) 

    [1] => meeting Object (
      [errors] => 0 
      [id] => 1815 
      [title] => Parent Evening 3 - 2016-10-07 14:00 
      [slot_id] => 31317 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:30:00 
      [endTime] => 2016-10-07 14:40:00 
     ) 
    [2] => meeting Object (
      [errors] => 0 
      [id] => 1815 
      [title] => Parent Evening 3 - 2016-10-07 14:00 
      [slot_id] => 31318 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:40:00 
      [endTime] => 2016-10-07 14:50:00 
     ) 
    [3] => meeting Object (
      [errors] => 0 
      [id] => 1815 
      [title] => Parent Evening 3 - 2016-10-07 14:00 
      [slot_id] => 31319 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:50:00 
      [endTime] => 2016-10-07 15:00:00 
     ) 
    [4] => meeting Object (
      [errors] => 0 
      [id] => 1816 
      [title] => 2016-10-07 14:15 
      [slot_id] => 31321 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:15:00 
      [endTime] => 2016-10-07 14:20:00 
     ) 
    [5] => meeting Object (
      [errors] => 0 
      [id] => 1815 
      [title] => Parent Evening 3 - 2016-10-07 14:00 
      [slot_id] => 31320 
      [grade_id] => 87 
      [startTime] => 2016-10-07 15:00:00 
      [endTime] => 2016-10-07 15:10:00 
     ) 
    [6] => meeting Object (
      [errors] => 0 
      [id] => 1813 
      [title] => Parent Evening 2 - 2016-10-07 14:00 
      [slot_id] => 31312 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:40:00 
      [endTime] => 2016-10-07 14:50:00 
     ) 
    [7] => meeting Object (
      [errors] => 0 
      [id] => 1813 
      [title] => Parent Evening 2 - 2016-10-07 14:00 
      [slot_id] => 31311 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:30:00 
      [endTime] => 2016-10-07 14:40:00 
     ) 
    [8] => meeting Object (
      [errors] => 0 
      [id] => 1812 
      [title] => Parent Evening 1 - 2016-10-07 14:00 
      [slot_id] => 31306 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:10:00 
      [endTime] => 2016-10-07 14:20:00 
     ) 
    [9] => meeting Object (
      [errors] => 0 
      [id] => 1812 
      [title] => Parent Evening 1 - 2016-10-07 14:00 
      [slot_id] => 31307 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:20:00 
      [endTime] => 2016-10-07 14:30:00 
     ) 
    [10] => meeting Object (
      [errors] => 0 
      [id] => 1812 
      [title] => Parent Evening 1 - 2016-10-07 14:00 
      [slot_id] => 31308 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:30:00 
      [endTime] => 2016-10-07 14:40:00 
     ) 
    [11] => meeting Object (
      [errors] => 0 
      [id] => 1813 
      [title] => Parent Evening 2 - 2016-10-07 14:00 
      [slot_id] => 31310 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:20:00 
      [endTime] => 2016-10-07 14:30:00 
     ) 
    [12] => meeting Object (
      [errors] => 0 
      [id] => 1813 
      [title] => Parent Evening 2 - 2016-10-07 14:00 
      [slot_id] => 31309 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:10:00 
      [endTime] => 2016-10-07 14:20:00 
     ) 
    [13] => meeting Object (
      [errors] => 0 
      [id] => 1816 
      [title] => 2016-10-07 14:15 
      [slot_id] => 31322 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:20:00 
      [endTime] => 2016-10-07 14:25:00 
     ) 
    [14] => meeting Object (
      [errors] => 0 
      [id] => 1816 
      [title] => 2016-10-07 14:15 
      [slot_id] => 31323 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:25:00 
      [endTime] => 2016-10-07 14:30:00 
     ) 
    [15] => meeting Object (
      [errors] => 0 
      [id] => 1819 
      [title] => 2016-10-07 14:20 
      [slot_id] => 31341 
      [grade_id] => -1 
      [startTime] => 2016-10-07 15:10:00 
      [endTime] => 2016-10-07 15:20:00 
     ) 
    [16] => meeting Object (
      [errors] => 0 
      [id] => 1819 
      [title] => 2016-10-07 14:20 
      [slot_id] => 31342 
      [grade_id] => -1 
      [startTime] => 2016-10-07 15:20:00 
      [endTime] => 2016-10-07 15:30:00 
     ) 
    [17] => meeting Object (
      [errors] => 0 
      [id] => 1819 
      [title] => 2016-10-07 14:20 
      [slot_id] => 31343 
      [grade_id] => -1 
      [startTime] => 2016-10-07 15:30:00 
      [endTime] => 2016-10-07 15:40:00 
     ) 
    [18] => meeting Object (
      [errors] => 0 
      [id] => 1819 
      [title] => 2016-10-07 14:20 
      [slot_id] => 31345 
      [grade_id] => -1 
      [startTime] => 2016-10-07 15:50:00 
      [endTime] => 2016-10-07 16:00:00 
     ) 
    [19] => meeting Object (
      [errors] => 0 
      [id] => 1819 
      [title] => 2016-10-07 14:20 
      [slot_id] => 31344 
      [grade_id] => -1 
      [startTime] => 2016-10-07 15:40:00 
      [endTime] => 2016-10-07 15:50:00 
     ) 
    [20] => meeting Object (
      [errors] => 0 
      [id] => 1819 
      [title] => 2016-10-07 14:20 
      [slot_id] => 31340 
      [grade_id] => -1 
      [startTime] => 2016-10-07 15:00:00 
      [endTime] => 2016-10-07 15:10:00 
     ) 
    [21] => meeting Object (
      [errors] => 0 
      [id] => 1819 
      [title] => 2016-10-07 14:20 
      [slot_id] => 31339 
      [grade_id] => -1 
      [startTime] => 2016-10-07 14:50:00 
      [endTime] => 2016-10-07 15:00:00 
     ) 
    [22] => meeting Object (
      [errors] => 0 
      [id] => 1816 
      [title] => 2016-10-07 14:15 
      [slot_id] => 31324 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:30:00 
      [endTime] => 2016-10-07 14:35:00 
     ) 
    [23] => meeting Object (
      [errors] => 0 
      [id] => 1816 
      [title] => 2016-10-07 14:15 
      [slot_id] => 31325 
      [grade_id] => 87 
      [startTime] => 2016-10-07 14:35:00 
      [endTime] => 2016-10-07 14:40:00 
     ) 
    [24] => meeting Object (
      [errors] => 0 
      [id] => 1819 
      [title] => 2016-10-07 14:20 
      [slot_id] => 31336 
      [grade_id] => -1 
      [startTime] => 2016-10-07 14:20:00 
      [endTime] => 2016-10-07 14:30:00 
     ) 
    [25] => meeting Object (
      [errors] => 0 
      [id] => 1819 
      [title] => 2016-10-07 14:20 
      [slot_id] => 31338 
      [grade_id] => -1 
      [startTime] => 2016-10-07 14:40:00 
      [endTime] => 2016-10-07 14:50:00 
     ) 
    [26] => meeting Object (
      [errors] => 0 
      [id] => 1819 
      [title] => 2016-10-07 14:20 
      [slot_id] => 31337 
      [grade_id] => -1 
      [startTime] => 2016-10-07 14:30:00 
      [endTime] => 2016-10-07 14:40:00 
     ) 
) 

Использование учеников и загруженные слотов встречи, нажмите временный интервал для собраний для каждого ученика и собрания:

Array 
(
    [2016-10-07 14:00:00] => Array (
      [0] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 1 
        [meeting_id] => 1812 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:00:00 
        [endTime] => 2016-10-07 14:10:00 
        [duration] => 600 
       ) 
      [1] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 1 
        [meeting_id] => 1812 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:10:00 
        [endTime] => 2016-10-07 14:20:00 
        [duration] => 600 
       ) 
      [2] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => 2016-10-07 14:15 
        [meeting_id] => 1816 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:15:00 
        [endTime] => 2016-10-07 14:20:00 
        [duration] => 300 
       ) 
      [3] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 2 
        [meeting_id] => 1813 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:20:00 
        [endTime] => 2016-10-07 14:30:00 
        [duration] => 600 
       ) 
      [4] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => 2016-10-07 14:15 
        [meeting_id] => 1816 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:25:00 
        [endTime] => 2016-10-07 14:30:00 
        [duration] => 300 
       ) 
      [5] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 3 
        [meeting_id] => 1815 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:30:00 
        [endTime] => 2016-10-07 14:40:00 
        [duration] => 600 
       ) 
      [6] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 2 
        [meeting_id] => 1813 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:40:00 
        [endTime] => 2016-10-07 14:50:00 
        [duration] => 600 
       ) 
      [7] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 3 
        [meeting_id] => 1815 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:50:00 
        [endTime] => 2016-10-07 15:00:00 
        [duration] => 600 
       ) 
     ) 

    [2016-10-07 14:10:00] => Array (
      [0] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 1 
        [meeting_id] => 1812 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:00:00 
        [endTime] => 2016-10-07 14:10:00 
        [duration] => 600 
       ) 

      [1] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 1 
        [meeting_id] => 1812 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:10:00 
        [endTime] => 2016-10-07 14:20:00 
        [duration] => 600 
       ) 
      [2] => meeting Object ( 
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => 2016-10-07 14:15 
        [meeting_id] => 1816 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:15:00 
        [endTime] => 2016-10-07 14:20:00 
        [duration] => 300 
       ) 
      [3] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 2 
        [meeting_id] => 1813 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:20:00 
        [endTime] => 2016-10-07 14:30:00 
        [duration] => 600 
       ) 
      [4] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => 2016-10-07 14:15 
        [meeting_id] => 1816 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:25:00 
        [endTime] => 2016-10-07 14:30:00 
        [duration] => 300 
       ) 
      [5] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 3 
        [meeting_id] => 1815 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:30:00 
        [endTime] => 2016-10-07 14:40:00 
        [duration] => 600 
       ) 
      [6] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 2 
        [meeting_id] => 1813 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:40:00 
        [endTime] => 2016-10-07 14:50:00 
        [duration] => 600 
       ) 
      [7] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 3 
        [meeting_id] => 1815 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:50:00 
        [endTime] => 2016-10-07 15:00:00 
        [duration] => 600 
       ) 
     ) 

    [2016-10-07 14:20:00] => Array (
      [0] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 1 
        [meeting_id] => 1812 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:00:00 
        [endTime] => 2016-10-07 14:10:00 
        [duration] => 600 
       ) 
      [1] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 2 
        [meeting_id] => 1813 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:10:00 
        [endTime] => 2016-10-07 14:20:00 
        [duration] => 600 
       ) 
      [2] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => 2016-10-07 14:15 
        [meeting_id] => 1816 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:15:00 
        [endTime] => 2016-10-07 14:20:00 
        [duration] => 300 
       ) 
      [3] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 1 
        [meeting_id] => 1812 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:20:00 
        [endTime] => 2016-10-07 14:30:00 
        [duration] => 600 
       ) 
      [4] => meeting Object ( 
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => 2016-10-07 14:15 
        [meeting_id] => 1816 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:25:00 
        [endTime] => 2016-10-07 14:30:00 
        [duration] => 300 
       ) 
      [5] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 3 
        [meeting_id] => 1815 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:30:00 
        [endTime] => 2016-10-07 14:40:00 
        [duration] => 600 
       ) 
      [6] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 2 
        [meeting_id] => 1813 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:40:00 
        [endTime] => 2016-10-07 14:50:00 
        [duration] => 600 
       ) 
      [7] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 3 
        [meeting_id] => 1815 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:50:00 
        [endTime] => 2016-10-07 15:00:00 
        [duration] => 600 
       ) 
     ) 

    [2016-10-07 14:30:00] => Array (
      [0] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 1 
        [meeting_id] => 1812 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:00:00 
        [endTime] => 2016-10-07 14:10:00 
        [duration] => 600 
       ) 
      [1] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 2 
        [meeting_id] => 1813 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:10:00 
        [endTime] => 2016-10-07 14:20:00 
        [duration] => 600 
       ) 
      [2] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => 2016-10-07 14:15 
        [meeting_id] => 1816 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:15:00 
        [endTime] => 2016-10-07 14:20:00 
        [duration] => 300 
       ) 
      [3] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 2 
        [meeting_id] => 1813 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:20:00 
        [endTime] => 2016-10-07 14:30:00 
        [duration] => 600 
       ) 
      [4] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => 2016-10-07 14:15 
        [meeting_id] => 1816 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:25:00 
        [endTime] => 2016-10-07 14:30:00 
        [duration] => 300 
       ) 
      [5] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 1 
        [meeting_id] => 1812 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:30:00 
        [endTime] => 2016-10-07 14:40:00 
        [duration] => 600 
       ) 
      [6] => meeting Object (
        [errors] => 0 
        [pupil_id] => 48307 
        [fullname] => Callum Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 3 
        [meeting_id] => 1815 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:40:00 
        [endTime] => 2016-10-07 14:50:00 
        [duration] => 600 
       ) 
      [7] => meeting Object (
        [errors] => 0 
        [pupil_id] => 79571 
        [fullname] => Daniel Lacey 
        [school_id] => 1 
        [meeting_title] => Parent Evening 3 
        [meeting_id] => 1815 
        [slot_id] => 87 
        [startTime] => 2016-10-07 14:50:00 
        [endTime] => 2016-10-07 15:00:00 
        [duration] => 600 
       ) 
     ) 
) 
+0

Я надеюсь, вы не сможете разместить настоящие имена и пароли здесь лол –

+0

@ Edmund-трость Неа, это тестовые данные :) –

ответ

0

Если кто-то хотел бы видеть, как я решил эту проблему, пожалуйста, проверьте по следующей ссылке:

Fix to the question

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