【发布时间】:2020-11-12 09:53:59
【问题描述】:
我有以下情况,我需要仅在特定日期数组中检查 重叠 并获取总参加时间。
array (
'2020-07-14' =>
array (
'total_attended_hours' => 0,
0 =>
array (
'start_time' => '09:00:00',
'end_time' => '13:00:00',
'hours' => '4 hours 0 mins',
),
1 =>
array (
'start_time' => '13:30:00',
'end_time' => '16:30:00',
'hours' => '3 hours 0 mins',
),
2 =>
array (
'start_time' => '09:00:00',
'end_time' => '14:00:00',
'hours' => '5 hours 0 mins',
),
),
'2020-07-15' =>
array (
'total_attended_hours' => 0,
0 =>
array (
'start_time' => '13:30:00',
'end_time' => '17:00:00',
'hours' => '3 hours 30 mins',
),
1 =>
array (
'start_time' => '09:00:00',
'end_time' => '14:00:00',
'hours' => '5 hours 0 mins',
),
),
)
在上面的例子中,日期为2020-07-14,我们有start_time and end_time:- total_attended_hoursshould be equals to7 小时 30 分钟
对于下一个2020-07-15,它应该是total_attended_hours = 8 hours 0 mins
以下数组的新问题
$data = [
'2020-07-14' =>
[
[
'start_time' => '14:15:00',
'end_time' => '17:45:00',
],[
'start_time' => '14:30:00',
'end_time' => '17:30:00',
],[
'start_time' => '14:30:00',
'end_time' => '17:30:00',
],
],
'2020-07-15' => [
[
'start_time' => '13:30:00',
'end_time' => '17:00:00',
],[
'start_time' => '09:00:00',
'end_time' => '14:00:00',
],
],
];
结果:-
Array
(
[2020-07-14] => Array
(
[0] => Array
(
[start_time] => 14:15:00
[end_time] => 17:45:00
)
[1] => Array
(
[start_time] => 14:30:00
[end_time] => 17:30:00
)
[2] => Array
(
[start_time] => 14:30:00
[end_time] => 17:30:00
)
[total_attended_hours] => 03:15:00
)
[total_attended_hours] => 03:15:00 应该是 [total_attended_hours] => 03:30:00
【问题讨论】:
-
您能通过var_export 提供您的阵列吗?
-
您至少应该向我们展示您在 php 中的尝试,以便我们为您提供帮助
-
@Pilan 我已经用 var_export 更新了问题