Rumah > php教程 > PHP源码 > 巧妙使用php引用实现无限分类,输出层级数组,不用递归

巧妙使用php引用实现无限分类,输出层级数组,不用递归

PHP中文网
Lepaskan: 2016-05-25 17:08:50
asal
1160 orang telah melayarinya

数据表字段,id,parentid。 
父分类parentid=0,子分类的parentid=父id。 

function getDataTree($rows, $id='id',$pid = 'parentid',$child = 'child',$root=0) {      $tree = array(); // 树  
        if(is_array($rows)){
             $array = array();
             foreach ($rows as $key=>$item){
             $array[$item[$id]] =& $rows[$key];
         }
         foreach($rows as $key=>$item){
             $parentId = $item[$pid];
             if($root == $parentId){
                 $tree[] =&$rows[$key];
             }else{
                 if(isset($array[$parentId])){
                     $parent =&$array[$parentId];
                     $parent[$child][]=&$rows[$key];
                 }
             }
         }
     }
     return $tree;
}
Salin selepas log masuk
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan