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

yipeiwu_com6年前PHP代码库

话不多说,请看代码:

/**
* 无级递归分类 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;
}
/**
 * 利用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;
 }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持【宜配屋www.yipeiwu.com】!

相关文章

php实现zip文件解压操作

PHP解压zip文件函数,源码简短,需要使用 ZZIPlib library 扩展,使用前请确认该扩展已经开启。 <? /*********************...

php批量添加数据与批量更新数据的实现方法

本文实例讲述了php批量添加数据与批量更新数据的实现方法。分享给大家供大家参考。具体分析如下: php如果要批量保存数据我们只要使用sql的insert into语句就可能实现数据批量保...

PHP中获取文件扩展名的N种方法小结

第1种方法: 复制代码 代码如下: function get_extension($file) { substr(strrchr($file, '.'), 1); } 第2种方法: 复...

解决php表单重复提交实现方法

重复提交是我们开发中会常碰到的一个问题,除了我们使用js来防止表单的重复提交,同时还可以使用php来防止重复提交哦。 <?php /* * php中如何防止表单的重...

遭遇php的in_array低性能问题

遭遇php的in_array低性能问题

PHP的性能一直在提高。然而,若是用的不恰当,或是一个不留神,还是可能会踩到PHP内部实现方面的坑的。我在前几天的一个性能问题上就碰到了。 事情是这样子的,一位同事反馈我们的一个接口每次...