Heim  >  Artikel  >  Backend-Entwicklung  >  Zwei Methoden und Techniken zur Implementierung einer stufenlosen rekursiven Klassifizierung in PHP

Zwei Methoden und Techniken zur Implementierung einer stufenlosen rekursiven Klassifizierung in PHP

黄舟
黄舟Original
2017-03-04 11:28:131592Durchsuche

In diesem Artikel werden hauptsächlich zwei Methoden zur Implementierung der stufenlosen rekursiven Klassifizierung in PHP vorgestellt, die einen guten Referenzwert haben. Werfen wir einen Blick mit dem Editor unten

Schauen Sie sich ohne weitere Umschweife den Code an:

/**
* 无级递归分类 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 .= &#39;<option value="&#39; . $value[&#39;class_id&#39;] . &#39;">&#39; . $tag . $value[&#39;class_name&#39;] . &#39;</option>&#39;;
 $tree .= recursiveAssort($value[&#39;class_id&#39;], $tag . &#39; &#39;);
 }
 return $tree;
}

/**
 * 利用php的引用传递 CI框架
 *
 */
 public function get_access()
 {
 $access = array();
 $field = &#39;id, pid, method, name, description&#39;;
 $q_access = $this->db->select($field)->get(&#39;access&#39;);
 $q_result = $q_access->result_array();
 if (!empty($q_result)) {
  $items = array();
  foreach ($q_result as $value) {
  $items[$value[&#39;id&#39;]] = $value;
  }
  foreach ($items as $key => $item) {
  if ($item[&#39;pid&#39;] == 0) {
   $access[] = &$items[$key];
  } else {
   $items[$item[&#39;pid&#39;]][&#39;sub_access&#39;][] = &$items[$key];
  }
  }
 }
 return $access;
 }

Die oben genannten Methoden und Techniken zur Implementierung der stufenlosen rekursiven Klassifizierung in PHP finden Sie auf der chinesischen PHP-Website (www.php.cn).

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn