| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User:  NODELOG
 
-  * Date: 16/7/16
 
-  * Time: 下午7:51
 
-  */
 
- namespace common\helpers;
 
- class Tree
 
- {
 
-     /**
 
-      * 把数据集转换成Tree
 
-      * @param $list
 
-      * @param string $pk
 
-      * @param string $pid
 
-      * @param string $child
 
-      * @param int $root
 
-      * @return array
 
-      */
 
-     public static function build($list, $pk='id', $pid = 'pid', $child = 'children', $root = 0) {
 
-         // 创建Tree
 
-         $tree = array();
 
-         if(is_array($list)) {
 
-             // 创建基于主键的数组引用
 
-             $refer = array();
 
-             foreach ($list as $key => $data) {
 
-                 $refer[$data[$pk]] =& $list[$key];
 
-             }
 
-             foreach ($list as $key => $data) {
 
-                 // 判断是否存在parent
 
-                 $parentId =  $data[$pid];
 
-                 if ($root == $parentId) {
 
-                     $tree[] =& $list[$key];
 
-                 }else{
 
-                     if (isset($refer[$parentId])) {
 
-                         $parent =& $refer[$parentId];
 
-                         $parent[$child][] =& $list[$key];
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-         return $tree;
 
-     }
 
- }
 
 
  |