步行数组计算转移

时间:2018-05-14 23:53:39

标签: php arrays loops multidimensional-array

所以我有一些工作人员,并且正在考虑一个很好的方法来评估他们是否做了所需要的是确保他们在轮班时正确填写表格。以下示例数据是我的函数输出得到的。

id - 用户的ID

name - 用户名

之后 - 范围之后

之前 - 范围之前的日期

total_shifts - 日期范围内的班次数

total_forms - 在范围内完成的表单数量

total_hours - 总班次

移位 - 在范围之前和之后移位的数据

在此示例中,9733号码是班次的日期范围之前和之前的班次的ID。他们在该范围内完成的总表格和积分。

[shifts] => Array
(
[9733] => Array
(
[after] => March 15th, 2018 00:00:00
[before] => March 15th, 2018 08:00:00
[forms_in_shift] => 10
[points] => 
)

如果他们正在做什么,我需要计算点数。

要求:每班12个表格(表格只是他们用数据填写的表格,它创建了一个帖子)

我遇到的问题是,有时候换班重叠,你可以在样本数据中看到,即使有两个人在工作,我每班只需要12个表格。所以我想要做的就是为每个班次提供1或0分,达到每个人的要求。例如:如果戴夫独自工作并且他最多得到12分,如果戴夫和史蒂夫一起工作并且他们一起做12个形式他们最多得到12分。我会将点附加到每个班次的点数组项。然后,我可以采取该数组,每月审查一次,看看谁在工作。我想我会走出阵列然后想出来,但我不知所措。

输出的示例数据

    array
    (

    [0] => Array
    (
    [id] => 24
    [name] => Dave Smith
    [after] => March 14th, 2018
    [before] => May 9th, 2018
    [total_shifts] => 0
    [total_forms] => 0
    [total_hours] => 0
    [shifts] => 
    )

    [1] => Array
    (
    [id] => 16
    [name] => Jake Paul
    [after] => March 14th, 2018
    [before] => May 9th, 2018
    [total_shifts] => 2
    [total_forms] => 20
    [total_hours] => 20
    [shifts] => Array
    (
    [9733] => Array
    (
    [after] => March 15th, 2018 00:00:00
    [before] => March 15th, 2018 08:00:00
    [forms_in_shift] => 10
    [points] => 
    )

    [9828] => Array
    (
    [after] => March 18th, 2018 00:00:00
    [before] => March 18th, 2018 12:00:00
    [forms_in_shift] => 5
    [points] => 
    )

    )

    )

    [2] => Array
    (
    [id] => 28
    [name] => Ryan Blum
    [after] => March 14th, 2018
    [before] => May 9th, 2018
    [total_shifts] => 6
    [total_forms] => 44
    [total_hours] => 42
    [dates] => Array
    (
    [9722] => Array
    (
    [after] => March 14th, 2018 16:00:00
    [before] => March 15th, 2018 00:00:00
    [forms_in_shift] => 7
    [points] => 
    )

    [9746] => Array
    (
    [after] => March 15th, 2018 16:00:00
    [before] => March 16th, 2018 00:00:00
    [forms_in_shift] => 9
    [points] => 
    )

    [9810] => Array
    (
    [after] => March 17th, 2018 10:00:00
    [before] => March 17th, 2018 16:00:00
    [forms_in_shift] => 11
    [points] => 
    )

    [9837] => Array
    (
    [after] => March 18th, 2018 00:00:00
    [before] => March 18th, 2018 12:00:00
    [forms_in_shift] => 5
    [points] => 
    )

    [9858] => Array
    (
    [after] => March 19th, 2018 08:00:00
    [before] => March 20th, 2018 00:00:00
    [forms_in_shift] => 9
    [points] => 
    )

    [9886] => Array
    (
    [after] => March 20th, 2018 15:00:00
    [before] => March 21st, 2018 00:01:00
    [forms_in_shift] => 3
    [points] => 
    )

    )

    )
    )

0 个答案:

没有答案