为了账号安全,请及时绑定邮箱和手机立即绑定

也就是说$test这个变量并不能被识别,大家有办法能在匿名函数中递归函数本身吗?

也就是说$test这个变量并不能被识别,大家有办法能在匿名函数中递归函数本身吗?

PHP
哔哔one 2023-04-14 13:09:08
php 5.2以后增加了匿名函数这个功能,但我在匿名函数递归时发现了问题<?php$test = NULL;$test = function ($a) use ($test) {    echo $a;    $a --;    if ($a > 0) {        return $test($a);     } };$test(10);正如上面的代码所示,我想在$test这个匿名函数里递归调用它自己,但是我发现在调用后会出现Fatal error: Function name must be a string in /Library/WebServer/Documents/test.php on line 9
查看完整描述

2 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

In order for it to work, you need to pass $test as a reference

$test = function ($a) use (&$test) {
    ...
}


查看完整回答
反对 回复 2023-04-17
?
炎炎设计

TA贡献1808条经验 获得超4个赞

php5.4下通过

$test = NULL;$test = function ($a) use (&$test) {    echo $a;    $a --;    if ($a > 0) {        return $test($a);
    }
};$test(10);


查看完整回答
反对 回复 2023-04-17
  • 2 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信