【发布时间】:2016-12-15 23:57:47
【问题描述】:
我正在用 PHP 编写代码来查找下一个工作日和休息日。这是我的代码:
function find_next_day($today,$days_array) {
$day = new DateTime($today);
$tomorrow = $day->modify('+1 day');
$result = $tomorrow->format('Y-m-d');
if (!in_array($result,$days_array)) {
return $result;
} else {
find_next_day($result,$days_array);
}
}
$off_days = array('2016-08-10','2016-08-25','2016-08-09','2016-08-11');
echo find_next_day('2016-08-09',$off_days); // I must get returned value as 2016-08-12
函数不返回任何东西真的很奇怪。但是如果我在函数返回值之前加上echo $result,我可以正确看到最终结果!
我的错误是什么?
【问题讨论】:
-
return find_next_day... -
你的回报不应该埋在 IF 声明中。如果你想让函数返回一些东西,它必须一直返回它。