首页 > 解决方案 > 允许的内存大小已用尽 - 内存泄漏在哪里?

问题描述

我正在网站上练习代码。指令是: 编写一个方法,将一个连续(递增)字母数组作为输入,并返回数组中缺失的字母。

这是我的代码:

<?php
function find_missing_letter($arr) {
    $inputArr = [];
    $ndArr = [];
    for($i = 0; $i < count($arr); $i++) {
        array_push($inputArr, ord($arr[$i]));
    }
    for($z = current($inputArr); $z <= end($inputArr); $z++) {
        array_push($ndArr, $z);
    }
    $result = chr(implode("",array_diff($ndArr, $inputArr)));
        return $result;
    }
    find_missing_letter(["a","c", "d"]); //returns "b"

它在 phpsandbox 上工作得很好,但是在编码网站上我得到了这个错误:Fatal error: Allowed memory size of 134217728 bytes exhausted

我做了一些研究,发现它一定是内存泄漏。我希望这里有人可以向我解释我的代码中内存泄漏的位置,因为我真的很想学习。提前致谢!

标签: php

解决方案


推荐阅读