<?php//分析/*福建省福州市龙岩市广东省广州市佛山市晋江市江门市江西省南昌市赣州市宁都县大余县信封县吉安市cat_idpriparent_id1福建省02福州市13龙岩市14广东省05广州市46佛山市47晋江市48江门市79江西省010南昌市911赣州市912宁都县1113大余县1114信封县1115吉安市916*/?><?phpheader("content-type:text/html;charset=utf-8");//php实现无限分类$area=array(array('cat_id'=>1,'province'=>'福建省','parent_id'=>0),array('cat_id'=>2,'province'=>'龙岩市','parent_id'=>1),array('cat_id'=>3,'province'=>'广东省','parent_id'=>0),array('cat_id'=>4,'province'=>'佛山市','parent_id'=>3),array('cat_id'=>5,'province'=>'江西省','parent_id'=>0),array('cat_id'=>6,'province'=>'南昌市','parent_id'=>5),array('cat_id'=>7,'province'=>'赣州市','parent_id'=>5),array('cat_id'=>8,'province'=>'宁都县','parent_id'=>7),);/*参数说明:$area:array一个数组,存放了分类的栏目$parent_id:int用作查询的条件$lev:int实现子栏目的缩进*/functionsortarea($area,$parent_id=0,$lev=1){//声明一个变量为static,这个变量是一个数组static$list;foreach($areaas$v){//如果父id=0,则取出顶层栏目,之后通过递归传递过来cat_id,判断parent_id是否等于cat_idif($v['parent_id']==$parent_id){//把$lev变量放进$v的数组中去$v['lev']=$lev;$list[]=$v;sortarea($area,$v['cat_id'],$lev+1);}}return$list;}$list=sortarea($area,0,1);foreach($listas$v){//用str_repeat函数实现子栏目缩进echostr_repeat('&nbsp&nbsp&nbsp',$v['lev']),$v['province'],'<br/>';}?>