1. 程式人生 > >在類中定義遞歸方法

在類中定義遞歸方法

聲明 this 調用函數 urn for 數組 eve 函數 調用

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

靜態變量並不是說其就不能改變值,不能改變值的量叫常量。 其擁有的值是可變的 ,而且它會保持最新的值。說其靜態,是因為它不會隨著函數的調用和退出而發生變化。即上次調用函數的時候,如果我們給靜態變量賦予某個值的話,下次函數調用時,這個值保持不變。

在類中定義遞歸方法