標籤:alt log com code images new 技術 oba ima
1 $arr = array( 2 0=>array( 3 ‘cid‘=>1, 4 ‘pid‘=>0, 5 ‘name‘=>‘亞洲‘, 6 ), 7 1=>array( 8 ‘cid‘=>2, 9 ‘pid‘=>0,10 ‘name‘=>‘北美洲‘,11 ),12 2=>array(13 ‘cid‘=>3,14 ‘pid‘=>1,15 ‘name‘=>‘中國‘,16 ),17 3=>array(18 ‘cid‘=>4,19 ‘pid‘=>2,20 ‘name‘=>‘美國‘,21 ),22 4=>array(23 ‘cid‘=>5,24 ‘pid‘=>3,25 ‘name‘=>‘北京‘,26 ),27 5=>array(28 ‘cid‘=>6,29 ‘pid‘=>3,30 ‘name‘=>‘河北‘,31 ),32 6=>array(33 ‘cid‘=>7,34 ‘pid‘=>5,35 ‘name‘=>‘東城區‘,36 ),37 7=>array(38 ‘cid‘=>8,39 ‘pid‘=>5,40 ‘name‘=>‘海澱區‘,41 ),42 );
1 private function GetTree($arr,$pid,$step){ 2 global $tree; 3 foreach($arr as $key=>$val) { 4 if($val[‘pid‘] == $pid) { 5 $flg = str_repeat(‘└―‘,$step); 6 $val[‘name‘] = $flg.$val[‘name‘]; 7 $tree[] = $val; 8 $this->GetTree($arr , $val[‘cid‘] ,$step+1); 9 }10 }11 return $tree;12 }
然後我們只需要寫一個調用的代碼就好
$newarr = $this->GetTree($arr, 0, 0);
這樣看上去是不是很簡單?
php無限極分類