public function getTree($list,$pid,$level){
//此处须是静态数组,不然递归的时候每次都会声明一个新的数组
static $tree = [];
foreach ($list as $row) {
if ($row[‘parent_major‘] == $pid) {
$row[‘level‘] = $level;
$tree[] = $row;
$this->getTree($list, $row[‘major_id‘], $level+1);
}
}
return $tree;
}
静态变量并不是说其就不能改变值,不能改变值的量叫常量。 其拥有的值是可变的 ,而且它会保持最新的值。说其静态,是因为它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,如果我们给静态变量赋予某个值的话,下次函数调用时,这个值保持不变。
在类中定义递归方法
Posted zzeng347
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在类中定义递归方法相关的知识,希望对你有一定的参考价值。
以上是关于在类中定义递归方法的主要内容,如果未能解决你的问题,请参考以下文章
在类库项目的基类中定义 HttpClient 实例的最佳方法是啥?
错误: 在类中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程