簡單的無限分類中遞迴子欄目
阿新 • • 發佈:2019-01-23
.
<?php /* * 找子欄目 */ $area=array( array('id'=>1,'name'=>'中國','parent'=>0), array('id'=>2,'name'=>'廣東','parent'=>1), array('id'=>3,'name'=>'深圳','parent'=>2), array('id'=>4,'name'=>'湖南','parent'=>1), array('id'=>5,'name'=>'長沙','parent'=>4) ); function findson($arr,$id=0) { $son=array(); foreach ($arr as $value) { if ($value['parent']==$id) { $son[]=$value; } } return $son; } /* * 找子孫樹 * @param array 傳入的陣列 * @param int 傳入的id */ function substree($arr,$id=0,$level=1) { static $grandson=array(); foreach ($arr as $value) { if ($value['parent']==$id) { $value['level']=$level; $grandson[]=$value; substree($arr,$value['id'],$level+1); } } return $grandson; } //var_dump( findson($area,1)); echo "</br>"; //var_dump(substree($area,2)); /* * 為了讓它顯示縮排效果 */ $tt=substree($area,0,1); foreach ($tt as $value) { echo str_repeat(' ', $value["level"]).$value["name"]."</br>"; } ?>