This article mainly introduces two methods of implementing stepless recursive classification in PHP, which has a good reference value. Let’s take a look at it with the editor.
Without further ado, please look at the code:
/** * 无级递归分类 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; }
The above is the content of the two methods and techniques for implementing stepless recursive classification in PHP. For more related content, please pay attention to the PHP Chinese website (m.sbmmt.com)!