我有一种情况需要计算每天每套的总小时数。但是我已经停留了很多天。我尝试获得如下输出:
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
}
}
答案 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 );
}
这假设你有一个显示(...)功能。