如下图,$arr这个静态变量每请求一次就累积一次,一直往上累积,怎么在每次调用递归结束后,销毁这个静态变量。
已解决:
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; }
不知道有没有更好的方案?
在递归之后置空
可以用yield 解决递归问题
已解决:
不知道有没有更好的方案?
在递归之后置空
可以用yield 解决递归问题