我正在使用两个函数来查找与我传递给函数的日期相关的某些日期。例如:我的函数mgeStart($date)采用$date并查找上一个星期五(因为这是工作周的开始)。此功能正常工作。该函数mgeEnd($date)将当前日期与星期四进行比较。这就是我的问题出现的地方。我经过的每个日期都mgeEnd()认为我经过的日期是星期四(我的错误日志中没有报告错误)。我的两个函数保存在 中functions.php,它们是:
我添加了多个 error_log() 语句来确定每个条目都经过 mgeEnd() 的第一个 if 语句。
function mgeStart($date){
if(date('D', $date) == 'Fri') { // It is friday
$start = $date;
}else{
$start = date('Y-m-d', strtotime('last friday', strtotime($date))); // last friday
}
// error_log("Date: ".$date." Start: ".$start);
return $start;
}
function mgeEnd($date){
if(date('D', $date) == 'Thu') { // It is thurs
$end = $date;
}else{
error_log("enter2"); //THIS NEVER GETS ENTERED
$end = date('Y-m-d', strtotime('next thursday', strtotime($date))); // last friday
}
return $end;
error_log("Date: ".$date." End: ".$end);
}
我调用 document2 中的函数:
$endDate = mgeEnd($row_3['WorkDate']);
$startDate = mgeStart($row_3['WorkDate']);
它们位于 for 循环内,并且在每个循环结束时未设置值。
我的程序的预期结果是mgeEnd()返回传递给它的日期的下一个星期四。
mgeEnd() 中的错误日志语句永远不会发布到日志中,而 mgeStart() 中的错误日志语句是。mgeStart() 的行为符合它应有的行为,而 mgeEnd() 则不然。