php自定义函数递归,递归 - php的成员方法中可以写自定义函数么?

php的成员方法中可以写自定义函数么?

我在一个方法中定义了函数,但是调用的时候报错

这是那个报错的方法

bVCMlP

报错如下

bVCMl0

但是我还有另一个方法中同样写了函数并进行递归,可是没有报错。

bVCMl7

这是调用这两个方法的接口

bVCMmf

为什么会报错呢?谁能给讲解一下,或者有好的处理方法也行

回复内容:

php的成员方法中可以写自定义函数么?

我在一个方法中定义了函数,但是调用的时候报错

这是那个报错的方法

bVCMlP

报错如下

bVCMl0

但是我还有另一个方法中同样写了函数并进行递归,可是没有报错。

bVCMl7

这是调用这两个方法的接口

bVCMmf

为什么会报错呢?谁能给讲解一下,或者有好的处理方法也行

为什么不把你的自定义函数 写成类里面的成员方法呢?

谢邀,可以自定义,你这里报错是因为你在其他地方也定义了getTree函数,错误是说你重复定义了。

另外还有一个更好的选择PHP闭包,大概如下:

class Test{

public function index(){

$hello_closures = function ($str){

echo $str;

};

$hello_closures("hello , php closures function");

}

}

官方文档看这里,很易懂:http://php.net/manual/zh/func...

报错信息已经很明显了,不能重复定义getTree函数,你已经在LabelController中定义过了

php 里面的函数(不是类的方法)都是全局的,也就是说,无论你是在全局中定义的,还是在函数中定义的函数,都被认为全局的(这点和js不一样,不要混淆)。

php 不支持函数重载(就是不能重名),所以,不允许重复声明函数(说到重载,倒是在类里面可以实现,只是意义完全不同,感觉就像错误处理函数一样,只是用来友好展示的,个人觉得,没什么卵用)。

相关标签:php 递归

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值