确定哪个时间最适合推入阵列的最佳方法?

时间:2016-10-18 15:04:50

标签: php arrays

我只是在寻找一些关于如何制定最佳会议时段的建议。因此,学生会议不会重叠,也不会太远。我正在尝试计算推荐的时间,以便父母可以看到最好的预订位置,以便他们不会等待。

例如它应该如何运作:

父母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:

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

检查时间尚未存储到数组中的最佳方法是什么?如果时间已经存储,那么下次检查时间是否适合其他时间基于时间?

您不必使用我的数据,一个例子会很有用。提前谢谢。

我到目前为止的数据:

学生:

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
        )
)

加载所有免费的会议时段:

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
                )
        )
)

1 个答案:

答案 0 :(得分:0)

如果有人想知道我是如何解决这个问题的,请查看以下链接:

<强> Fix to the question

相关问题