在类中定义递归方法

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;}静态变量并非说其就不能改变值,不能改变值的量叫常量。 其拥有的值是可变的 ,并且它会保持最新的值。说其静态,是由于它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,若是咱们给静态变量赋予某个值的话,下次函数调用时,这个值保持不变。
相关文章
相关标签/搜索