1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > php 递归到空如何处理 PHP递归函数返回NULL - Carbon PHP库

php 递归到空如何处理 PHP递归函数返回NULL - Carbon PHP库

时间:2022-08-20 21:02:57

相关推荐

php 递归到空如何处理 PHP递归函数返回NULL - Carbon PHP库

我试图用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 -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(这可以解释错误),否则我会期望这会引发错误。 –

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。