在类中定义递归方法

Posted zzeng347

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在类中定义递归方法相关的知识,希望对你有一定的参考价值。

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;
}

静态变量并不是说其就不能改变值,不能改变值的量叫常量。 其拥有的值是可变的 ,而且它会保持最新的值。说其静态,是因为它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,如果我们给静态变量赋予某个值的话,下次函数调用时,这个值保持不变。

以上是关于在类中定义递归方法的主要内容,如果未能解决你的问题,请参考以下文章

方法,重载,递归,面向对象

在类中定义数组的方法和字段

方法

能定义在类中的内容

在类库项目的基类中定义 HttpClient 实例的最佳方法是啥?

错误: 在类中找不到 main 方法, 请将 main 方法定义为:    public static void main(String[] args) 否则 JavaFX 应用程