快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → Fatal-error:-Allowed-memory-size-of-递归出现内存溢出

Fatal-error:-Allowed-memory-size-of-递归出现内存溢出

时间:2022-08-25 11:11:37人气:作者:快盘下载我要评论

检查数据的准确性。子子孙孙无穷尽也;你不溢出谁溢出;

Fatal-error:-Allowed-memory-size-of-递归出现内存溢出
php查询所有的子集用户;递归是常用方法。

public function get_attr($array,$id){
        $tree = array();                                //每次都声明一个新数组用来放子元素
        foreach($array as $v){
            if($v[;pid;] == $id){                      //匹配子记录
                $v[;children;] = $this->get_attr($array,$v[;id;]); //递归获取子记录
                if($v[;children;] == null){
                    unset($v[;children;]);             //如果子元素为空则unset()进行删除;说明已经到该分支的最后一个元素了;可选;
                }
                $tree[] = $v;                           //将记录存入新数组
            }
        }
        return $tree;                                  //返回新数组
    }

如果说你确保你的代码是完全没有问题;有递归过程和退出。但是任然有内存溢出。就像这样

把我坑大发了;把我的代码瞅来瞅去;没问题呀;嗯;网上一查;说是php版本的问题;要把内存限制改大点;我都从128M改到1024M了;还是这样子。崩溃了。

实在是没办法了。就把数据库的数据拿出来看。自己按照机器的方式跑了一遍;才发现问题。 问题出在了原始数据上;;

$list=array(
array(;id;=>1,;name;=>;父类;,;pid;=>3),
array(;id;=>2,;name;=>;子类;,;pid;=>1),
array(;id;=>3,;name;=>;孙类;,;pid;=>2),
);

子子孙孙无穷尽也;你品;你细品;是数据让程序在里面绕死了;

递归;数据的准确也非常、非常重要

相关文章

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。