码迷,mamicode.com
首页 > Web开发 > 详细

PHP递归获取多层栏目

时间:2017-06-17 21:45:05      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:传参数   str   传参   foreach   参数   int   dpi   empty   数组   

 1     /**
 2      * 返回多层栏目
 3      * @param $data 操作的数组
 4      * @param int $pid 一级PID的值
 5      * @param string $html 栏目名称前缀
 6      * @param string $fieldPri 唯一键名,如果是表则是表的主键
 7      * @param string $fieldPid 父ID键名
 8      * @param int $level 不需要传参数(执行时调用)
 9      * @return array
10      */
11     public function channelLevel($data, $pid = 0, $html = " ", $fieldPri = ‘cid‘, $fieldPid = ‘pid‘, $level = 1)
12     {
13         if (empty($data)) {
14             return array();
15         }
16         $arr = array();
17         foreach ($data as $v) {
18             if ($v[$fieldPid] == $pid) {
19                 $arr[$v[$fieldPri]] = $v;
20                 $arr[$v[$fieldPri]][‘level‘] = $level;
21                 $arr[$v[$fieldPri]][‘html‘] = str_repeat($html, $level - 1);
22                 $arr[$v[$fieldPri]]["data"] = $this->channelLevel($data, $v[$fieldPri], $html, $fieldPri, $fieldPid, $level + 1);
23             }
24         }
25         return $arr;
26     }

 

PHP递归获取多层栏目

标签:传参数   str   传参   foreach   参数   int   dpi   empty   数组   

原文地址:http://www.cnblogs.com/acoll/p/7041228.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!