<?php header("Content-Type:text/html;charset=utf-8"); /* 无限级分类。牵扯2个应用 0是-找指定栏目的子栏目 1是-找指定栏目的子孙栏目,即子孙树 2是-找指定栏目的父栏目/父父栏目....顶级栏目,即家谱树 */ $aarr = array( array('id'=>1,'name'=>'安徽','pid'=>0), array('id'=>2,'name'=>'海淀','pid'=>7), array('id'=>3,'name'=>'浣溪县','pid'=>5), array('id'=>4,'name'=>'昌平','pid'=>7), array('id'=>5,'name'=>'淮北','pid'=>1), array('id'=>6,'name'=>'朝阳','pid'=>7), array('id'=>7,'name'=>'北京','pid'=>0), array('id'=>8,'name'=>'上地','pid'=>2) ); //找子栏目 function findson($arr,$id=0){ //$id栏目的儿子有那些呢? //答:数组循环一遍,谁的pid值 等于 $id,谁就是他儿子 $sons = array(); //子栏目数组 foreach($arr as $v){ if($v['pid'] == $id){ $sons[] = $v; } } return $sons; } echo "<pre>"; print_r(findson($aarr,0));