php两种无限分类方法实例
《PHP实战:php两种无限分类方法实例》要点: PHP编程一、递归办法
代码如下:
$items = array( array('id'=>1,'pid'=>0,'name'=>'一级11'), array('id'=>2,'name'=>'一级12'), array('id'=>3,'pid'=>1,'name'=>'二级21'), array('id'=>4,'pid'=>3,'name'=>'三级31'), array('id'=>5,'name'=>'二级22'), array('id'=>6,'name'=>'三级32'), array('id'=>7,'pid'=>6,'name'=>'四级41'), ); $i = 0; function formatTree($arr,$pid = 0){ $tree = array(); $temp = array(); global $i; if($arr){ foreach($arr as $k=>$v){ if($v['pid'] == $pid){// $temp = formatTree($arr,$v['id']); $temp && $v['son'] = $temp; $tree[] = $v; } } } return $tree; } print_r(formatTree($items)); 二、非递归办法
代码如下:
function genTree($items) { ??? $tree = array(); //格式化好的树 ??? foreach ($items as $item) ??????? if (isset($items[$item['pid']])){ ??????????? $items[$item['pid']]['son'][] = &$items[$item['id']]; ??????? } ??????? else{ ??????????? $tree[] = &$items[$item['id']]; ??????? } ??? return $tree; } PHP编程$items = array( 欢迎参与《PHP实战:php两种无限分类方法实例》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |