不言不语

您现在的位置是: 首页 >  PHP

PHP

php递归经典案例

2022-05-31PHP
递归函数为自调用函数,在函数体内直接或直接自个调用自个,但需求设置自调用的条件,若满意条件,则调用函数自身,若不满意则停止本函数的自调用,然后把目前流程的主控权交回给上一层函数来履行


一、什么是递归函数?


一个函数在它的函数体内调用它自身称为递归调用。 这种函数称为递归函数。


二、几行看懂php递归


function recursion($i){

    if($i<1){
        exit;    // 递归出口
    }
    echo $i."<br/>";
    recursion($i-1);

}

recursion(10); // 浏览器将显示从10显示到1


效果图

php递归经典案例



三、通过递归,列出省市区


$item = array(
    array('id'=>1,'pid' => 0, 'name'=>'广东省' ),
    array('id'=>2,'pid' => 0, 'name'=>'广西省' ),
    array('id'=>3,'pid' => 1, 'name'=>'深圳市' ),
    array('id'=>4,'pid' => 3, 'name'=>'宝安区' ),
    array('id'=>5,'pid' => 1, 'name'=>'广州市' ),
);


function recursion($array, $pid = 0){

    $arr = array();
    foreach ($array as $v) {
        if ($v['pid'] == $pid) {
            $temp = array();
            $temp = recursion($array, $v['id']);
            //判断是否存在子数组
            if($temp)
            {
                $v['son'] = $temp;
            }
            $arr[] = $v;
        }
    }
    return $arr;
    
}


$array = recursion($item);
echo "<pre>";
print_r($array);


效果图

php递归经典案例


文章评论