我的功能是显示今天的日期或下一个工作日日期,如果是周末。功能很好,但返回是错误的。
$today = todayDate('2014-10-18'); // Saturday
function todayDate($date) {
if(date('N', strtotime($date)) >= 6) {
echo 'If - ' . $date . '<br/>';
$date = date('Y-m-d', strtotime('+1 day', strtotime($date)));
todayDate($date);
} else {
echo 'Else - ' . $date . '<br/>';
}
return $date;
}
echo '<br/><br/>Today: ' . $today . '<br/><br/>';
此功能回应如下:
If - 2014-10-18
If - 2014-10-19
Else - 2014-10-20
但今天的$ echo(代码的最后一行)是
Today: 2014-10-19
那么,出了什么问题?功能中的最后一个$ date是“2014-10-20”,这个值现在返回到$,但是今天的$显示了不同的值。有什么想法吗?
答案 0 :(得分:1)
正如kojiro在评论中指出的那样,你不会将内部调用的返回值赋给todayDate()
。要更改此项,请替换此行
todayDate($date);
与
$date = todayDate($date);