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;}靜態變量並非說其就不能改變值,不能改變值的量叫常量。 其擁有的值是可變的 ,並且它會保持最新的值。說其靜態,是由於它不會隨着函數的調用和退出而發生變化。即上次調用函數的時候,若是咱們給靜態變量賦予某個值的話,下次函數調用時,這個值保持不變。