我试图用Carbon PHP DateTime库的帮助编写一个递归函数。但是,如果我运行该函数返回值为NULL,即使它之前我回声它,它是正确回显。PHP递归函数返回NULL – Carbon PHP库
递归函数搜索下一个可用的工作日,因此周六和周日有6和0。我现在只是测试它的功能。
每个帮助都会有所体会。
谢谢。
$today = Carbon::now($timezone);
$variable = check_next_day($today);
var_dump($variable); //NULL
function check_next_day($giventdate){
//var_dump ($giventdate->dayOfWeek);
/*echo “
Holnapi nap:” . $giventdate->addDay();
echo “
Holnapi nap erteke:” . $giventdate->dayOfWeek; */
//echo gettype($giventdate->dayOfWeek);
if (($giventdate->dayOfWeek == 1) || ($giventdate->dayOfWeek == 2)){
//echo (“
IN loop:”. $giventdate);
check_next_day($giventdate->addDay());
} else {
//echo “ELSE VAN?”. $giventdate; // This returns the correct value 2017-02-08 19:44:46
return $giventdate; // This returns NULL
}
//print_r (check_next_day($giventdate->addDay()));
//echo “WTF”;
}
+1
,你**不返回任何**。这不是很递归… –
+0
我试过这样,但在这种情况下,NULL也返回。并且在giventdate中有一个错误的值,因为如果$ giventdate-> dayOfWeek是1,它将运行if语句而不是else。 (!($ giventdate->一周中的某天= 1)||($ giventdate->一周中的某天= 2)!) 如果{ \t \t回波( “
IN环:” $ giventdate); \t \t return $ giventdate; \t \t \t }否则{ \t \t check_next_day($ giventdate-> addDay()); \t} –
+1
在递归方法中,每个可能的执行分支必须最终返回* something *。除非PHP默认并返回null(这可以解释错误),否则我会期望这会引发错误。 –
今天的文章php 递归到空如何处理,PHP递归函数返回NULL – Carbon PHP库分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/33926.html