PHP按“bi weekly”分组

时间:2013-05-15 17:43:59

标签: php arrays

我有一份报告,通过检索日期,打卡和打卡并计算持续时间来计算员工的工作时间,这些数据会保存到一个数组中,根据工资核算期显示,这里是根据工资计算付款的代码每周一次(在数组内循环)

foreach($punch_sets as $val){
    if ($currentmonth==""){
        echo "<tr><td>" . date("W",strtotime($val['in_date'])) . "</td>";
     }
    if ($currentmonth1 == date("F",strtotime($val['in_date'])) || $currentmonth1 ==""){


      if ($currentmonth == date("W",strtotime($val['in_date'])) || $currentmonth==""){
                 $total_time += $minSec + $hours*3600;
                 $currentmonth = date("W",strtotime($val['in_date']));
           }
       else
           {
               echo "<td>" . sec2hm($total_time) . "</td>";
               echo "<td>" . (sec2hm($total_time) * $ratepaid) . "</td></tr></tr>";

               $currentmonth ="";
               $total_time = $minSec + $hours*3600;
            }
  }

    else {
          $total_time = $minSec + $hours*3600;
        }
         $currentmonth1 = date("F",strtotime($val['in_date']));
}

这里的问题是如何调整此逻辑以获得每周计算而不是每周计算。

1 个答案:

答案 0 :(得分:0)

而不是使用:

date("W",strtotime($val['in_date']))

分组依据,分组:

floor(date("W",strtotime($val['in_date']))/2);

您可能希望将$currentmonth更改为$currentperiod,以反映原始脚本从每月更改为每周更改为现在每两周更改一次。