帮助中心 >  技术知识库 >  网站相关 >  程序开发 >  PHP两种实现无级递归分类的方法

PHP两种实现无级递归分类的方法

2017-03-04 07:54:38 5767

代码如下:

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

/**

* 无级递归分类 TP框架

* @param int $assortPid 要查询分类的父级id

* @param mixed $tag  上下级分类之间的分隔符

* @return string $tree 返回的分类树型结构结果  

*

*/

function recursiveAssort($assortPid,   $tag = '')

{

 $assort =   M('goods_class')->where("class_pid = $assortPid")->field('class_id,   class_name')->select();

 foreach ($assort as $value)   {

 $tree .=   '<option value="' . $value['class_id'] . '">' .   $tag . $value['class_name'] . '</option>';

 $tree .=   recursiveAssort($value['class_id'], $tag .   '?');

 }

 return $tree;

}

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

/**

 * 利用php的引用传递 CI框架

 *

 */

 public function get_access()

 {

 $access =   array();

 $field =   'id, pid, method, name, description';

 $q_access =   $this->db->select($field)->get('access');

 $q_result =   $q_access->result_array();

 if (!empty($q_result))   {

  $items =   array();

  foreach ($q_result as $value)   {

  $items[$value['id']]   = $value;

  }

  foreach ($items as $key =>   $item) {

  if ($item['pid']   == 0) {

   $access[]   = &$items[$key];

  } else {

   $items[$item['pid']]['sub_access'][]   = &$items[$key];

  }

  }

 }

 return $access;

 }

 


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: