如何获得每天的总小时数

时间:2016-03-22 10:29:21

标签: php

我有一种情况需要计算每天每套的总小时数。但是我已经停留了很多天。我尝试获得如下输出:

Day        Clock In  Clock Out  Total Hours(Hr)   Total Hours Per Day(Hr)
Monday     08:00     09:00      1.00                                     
           10:00     12:00      2.00          
           13:00     14:30      1.50              4.50
Tuesday    08:30     10:00      1.50
           15:00     17:50      2.83              4.33
Wednesday  08:00     17:00      9.00              9.00

                                     Total       17.83

到目前为止,我已尝试编写代码并做了一些努力。请帮助我们。非常感激。

for($days=0;$days<3;$days++) { //get how many days

$clocked_records_each_day = count($get_attendance_records); //get attendance                 clock sets

for($records=0; $records<$clocked_records_each_day; $records++) {
$total_hour_per_set = $clocked_records_each_day[$records]['total_hour'];
$total_hour_per_day = ??;
$total_hour_overall = ??;
//stuck until here
//get the output and display
}

}

2 个答案:

答案 0 :(得分:1)

基本上:

/* Init grand total:  */
$total_hour_overall = 0;

for($days=0;$days<3;$days++) { //get how many days

    /* Init day subtotal at each for loop: */
    $total_hour_per_day = 0;

    $clocked_records_each_day = count($get_attendance_records); //get attendance                 clock sets

    for($records=0; $records<$clocked_records_each_day; $records++) {
        $total_hour_per_set = $clocked_records_each_day[$records]['total_hour'];

        /* Increment day subtotal and grand total: */
        $total_hour_per_day += $clocked_records_each_day[$records]['total_hour'];
        $total_hour_overall += $clocked_records_each_day[$records]['total_hour'];

        /* Echo set total inside records for:  */
        echo $total_hour_per_set;
    }

    /* Echo day subtotal inside days for:  */
    echo $total_hour_per_day;
}

/* Echo grand total outside for loop:  */
echo $total_hour_overall;

答案 1 :(得分:1)

你需要分两部分,首先将它全部加起来,然后显示它。

for($records=0; $records<$clocked_records_each_day; $records++) {
  $total_hour_per_set = $clocked_records_each_day[$records]['total_hour'];
  $total_hour_per_day[$clocked_records_each_day[$records]['day'][] =  $total_hour_per_set
  $total_hour_overall+= $total_hour_per_set;
}

现在您拥有了所需的所有数据。

每天你都可以展示

for($records=0; $records<$clocked_records_each_day; $records++) {
  Display( $total_hour_per_set = $clocked_records_each_day[$records]['total_hour']);
  Display( array_sum( $total_hour_per_day[$clocked_records_each_day[$records]['day'] ) );
  Display( $total_hour_overall+= $total_hour_per_set );
}

这假设你有一个显示(...)功能。

相关问题