webman中递归方法的静态变量无限增长问题

workers

问题描述

如下图,$arr这个静态变量每请求一次就累积一次,一直往上累积,怎么在每次调用递归结束后,销毁这个静态变量。
截图

522 1 0
1个回答

workers

已解决:

public static function getSort($data, $pid = 0, $i = 0)
    {
        static $arr = array();
        if($i == 0){
            $arr = [];
        }
        foreach ($data as $k => $v) {
            if ($v['pid'] == $pid) {
                $arr[] = $v;
                $i++;
                self::getSort($data, $v['id'], $i);
            }
        }
        return $arr;
    }

不知道有没有更好的方案?

年代过于久远,无法发表回答
🔝