本篇为大家介绍一下递归的经典案例。

一、什么是递归函数?

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

二、几行看懂php递归

function recursion($i){
 
    if($i<1){
        exit;    // 递归出口
    }
    echo $i."<br/>";
    recursion($i-1);
 
}
 
recursion(10); // 浏览器将显示从10显示到1
登录后复制

效果图

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

$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相关知识,请访问Work网

以上就是php递归经典案例的详细内容,更多请关注Work网其它相关文章!

09-07 22:32