php 递归函数使用

function test($a=0){
  $a++;
  if ($a<10) {
    echo $a;

    test($a);
  }
}

php实现递归与无限分类的方法
echo "<pre>" ;
$area = array (
array ( 'id' =>1, 'area' => '北京' , 'pid' =>0),
array ( 'id' =>2, 'area' => '广西' , 'pid' =>0),
array ( 'id' =>3, 'area' => '广东' , 'pid' =>0),
array ( 'id' =>4, 'area' => '福建' , 'pid' =>0),
array ( 'id' =>11, 'area' => '朝阳区' , 'pid' =>1),
array ( 'id' =>12, 'area' => '海淀区' , 'pid' =>1),
array ( 'id' =>21, 'area' => '南宁市' , 'pid' =>2),
array ( 'id' =>45, 'area' => '福州市' , 'pid' =>4),
array ( 'id' =>113, 'area' => '亚运村' , 'pid' =>11),
array ( 'id' =>115, 'area' => '奥运村' , 'pid' =>11),
array ( 'id' =>234, 'area' => '武鸣县' , 'pid' =>21)
);
function t( $arr , $pid =0, $lev =0){
static $list = array ();
foreach ( $arr as $v ){
if ( $v [ 'pid' ]== $pid ){
 echo str_repeat ( " " , $lev ). $v [ 'area' ]. "<br />" ;
 //这里输出,是为了看效果
 $list [] = $v ;
 t( $arr , $v [ 'id' ], $lev +1);
 }
}
return $list ;
}
$list = t( $area );
echo "<hr >" ;
print_r( $list );

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值