Heim > Artikel > Backend-Entwicklung > Ausführliche Erläuterung zweier Methoden zur Implementierung der stufenlosen rekursiven Klassifizierung in PHP
Zwei Methoden zur Implementierung einer stufenlosen rekursiven Klassifizierung in PHP
Die erste:
/** * 无级递归分类 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; }
Zweiter Typ:
/** * 利用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; }
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung zweier Methoden zur Implementierung der stufenlosen rekursiven Klassifizierung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!