php递归return结果始终为null的原因

今天给大家分享一个终极小错误。。 就是 “调用一个递归方法发现无论返回null,但是返回值在递归应该是存在的”

function per_prev($permission_id,$per_ids){
		$ww = array_merge($permission_id,$per_ids);
		$where['pid'] = array('in',$permission_id);
		$ids = M('db')->where($where)->field('id')->select();
		if($ids){
			$ids = array_change($ids,'id');
			$this->per_prev($ids,$ww);
		}else{
			return  $ww;//$ww 是有数据的并且是一个数组
		}
}
$perids = $this->per_prev(“5”,array());
var_dump($perids);

这个时候我打印$perids 的到的结果是null这是为什么呢?

就是一个终极小错误
在这里插入图片描述
这就是一个递归,但是他没有return 所以他return 一直为空
所以在
在这里插入图片描述
在它前面加个return 就行了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值