php生成無限欄目樹
更新時間:2017年03月16日 09:32:24 作者:雨落秋垣
本文主要介紹了php生成無限欄目樹的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧
欄目數(shù)組:
$arr=Array(
Array('cid' => 2,'cname' => '新聞','pid' => 0),
Array('cid' => 4,'cname' =>'體育','pid' => 0),
Array('cid' => 5,'cname' => '娛樂','pid' => 0),
Array('cid' => 7,'cname' => '熱點新聞','pid' =>2),
Array('cid' => 8,'cname' => '小眾新聞','pid' => 2),
Array('cid' => 9,'cname' => '民謠新聞','pid' => 8),
);
<?php
$arr=Array(
Array('cid' => 2,'cname' => '新聞','pid' => 0),
Array('cid' => 4,'cname' =>'體育','pid' => 0),
Array('cid' => 5,'cname' => '娛樂','pid' => 0),
Array('cid' => 7,'cname' => '熱點新聞','pid' =>2),
Array('cid' => 8,'cname' => '小眾新聞','pid' => 2),
Array('cid' => 9,'cname' => '民謠新聞','pid' => 8),
);
function formatTree($array, $pid = 0,$level = 1,$field = array('pid'=>'pid','id'=>'id','children'=>'children')){
$arr = array();
foreach ($array as &$v) {
if ($v[$field['pid']] == $pid) {
$v['level'] = $level;
$tem = formatTree($array, $v[$field['id']],$v['level']+1,$field);
//判斷是否存在子數(shù)組
$tem && $v[$field['children']] = $tem;
$arr[] = $v;
}
}
return $arr;
}
$tree = formatTree( $arr,0,1, $field = array('pid'=>'pid','id'=>'cid','children'=>'children') );
echo '<pre>';
print_r( $tree);
?>
我們有兩個方法來進(jìn)行軟件設(shè)計:一個是讓其足夠的簡單以至于讓BUG無法藏身;另一個就是讓其足夠的復(fù)雜,讓人找不到BUG。前者更難一些。
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
php采用file_get_contents代替使用curl實例
這篇文章主要介紹了php采用file_get_contents代替使用curl的方法,實例講述了file_get_contents模擬curl的post方法,對于服務(wù)器不支持curl的情況來說有一定的借鑒價值,需要的朋友可以參考下2014-11-11
學(xué)習(xí)php設(shè)計模式 php實現(xiàn)狀態(tài)模式
這篇文章主要介紹了php設(shè)計模式中的狀態(tài)模式,使用php實現(xiàn)狀態(tài)模式,感興趣的小伙伴們可以參考一下2015-12-12
php關(guān)聯(lián)數(shù)組快速排序的方法
這篇文章主要介紹了php關(guān)聯(lián)數(shù)組快速排序的方法,涉及php數(shù)組排序的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04

