/***递归*/publicfunctiongetTree($data,$pk='id',$pid='pid',$child='child',$root=0){$树=数组();foreach($dataas$k=>$v){if($v[$pid]==$root){//父亲找到儿子$v[$child]=$this->getTree($data,$pk,$pid,$child,$v[$pk]);$树[]=$v;}}return$tree;}/***迭代*/publicfunctiongetTree($list,$pk='id',$pid='pid',$child='child',$root=0){$tree=数组();$packData=array();foreach($listas$data){$packData[$data[$pk]]=$data;}foreach($packDataas$key=>$val){if($val[$pid]==$root){//表示节点$tree[]=&$packData[$key];}else{//找到它的父类$packData[$val[$pid]][$child][]=&$packData[$key];}}返回$树;}
