优化非尾递归函数

moo*_*moo 1 php optimization recursion

我有这个功能,其基本操作概述如下:

function render($index) {
    foreach($things[$index] as $key => $data) {
        echo '<div>';
        /* irrelevant operations */
        if(isset($data['id'])) {
            echo '<div class="wrap">';
            render($things[$data['id']]);
            echo '</div>';
        }
        echo '</div>';
    }
}
Run Code Online (Sandbox Code Playgroud)

我不能为我的生活弄清楚如何优化这个功能; 我担心如果调用堆栈太大,PHP会崩溃.

有没有办法优化这个功能?

Sim*_*ead 9

你不得不担心,这是非常值得怀疑的.如果你将div设置得足够深,以致调用堆栈填满,那么递归深度是你最不担心的.