Drupal大学
  • 社区
  • 问题
  • 标签
  • 热文
登录
提问

  • 创建新帐号
  • 重设密码
内存泄露
内存泄露
  • 全部问题
  • 最近热点
  • 动态
php 大数组导致内存泄露问题
4回答 11216浏览
错误提示:Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in /Applications/XAMPP/xamppfiles/htdocs/VIP ... (展开全部)

错误提示:
Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in /Applications/XAMPP/xamppfiles/htdocs/VIP/App/Home/Controller/IndexController.class.php on line 42

处理数组的方法:

 /**
     * 算法:非常重要 - 会导致内存溢出 - 需要更换一种思路解决内存溢出的问题?
     *
     * 根据安置人的位置,安置人的层级和当前用户的层级计算区域奖对应的
     * 会员位置集合数组
     * @param string $rehousepos 安置人位置pos
     * @param string $rehousefloor 安置人层级floor
     * @param string $currentfloor 当前入会会员的层级floor
     * @param array $result 待返回的会员位置集合数组
     */
 function getPosArray($rehousepos, $rehousefloor, $currentfloor, $type = 'right')
 {
        $result = [];//返回位置数组
        $now = [];//当前的数组,会清空
        $other = [];//中间数组
        $floorCha = $currentfloor-$rehousefloor;
        for ($i=1;$i<=$floorCha;$i++) {
            if($i==1) {
                if($type == 'right') {
                    $now[] = $result[] = $rehousepos*2+1;
                }else{
                    $now[] = $result[] = $rehousepos*2;
                }
            }else{
                foreach ($now as $key=>$value) {
                    $other[] = $result[] = $value*2;
                    $other[] = $result[] = $value*2+1;
                }
                unset($now);
                $now=$other;//数组替换
                unset($other);
            }
        }
        return $result;
    }

调用方式:
print_r($this->getPosArray(4, 3, 29));

第三个参数大于20的时候就会出现内存泄露的情况,这个问题导致系统出现问题,希望能够得到高手的思路或者是方法?谢谢~

收起
  • PHP
  • 内存泄露
  • 大数组
4回答 11216浏览
2016-01-13

设置
  • 编辑话题

关注的用户

还没有关注的用户

专家排行榜

  • Drupal猎人
    191
    # 1
  • 赵高欣
    1227
    # 2
  • 于志成
    978
    # 3
  • 凯旋灬国王ん
    102
    # 4
  • 流浪者
    377
    # 5
  • 流云
    368
    # 6
  • 陈木辉
    352
    # 7
  • sujun
    299
    # 8
  • 慕容白
    270
    # 9
  • 希望之翼
    270
    # 10
  • 幽灵
    255
    # 11
  • 老葛
    254
    # 12
展开

电脑版 | 手机版

power by 晓安科技 - Drupal大学首页 - 如何提问 - 联系我们 - 站点日志
Copyright and All rights reserved © Drupal大学 2013-2016 - 沪ICP备12028140号-3

请说明举报原因: