php遞回經典案例

2020-07-16 10:05:47
本篇為大家介紹一下遞回的經典案例。

一、什麼是遞回函數?

一個函數在它的函數體內呼叫它自身稱為遞回呼叫。 這種函數稱為遞回函數。

二、幾行看懂php遞回

function recursion($i){
 
    if($i<1){
        exit;    // 遞回出口
    }
    echo $i."<br/>";
    recursion($i-1);
 
}
 
recursion(10); // 瀏覽器將顯示從10顯示到1

效果圖

6c883ec7f83e9236de9a21b27b02f17f.png

三、通過遞回,列出省市區

$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);

效果圖

4910dd9c27d0b98a6d657fd0076960fd.png

以上就是php遞回經典案例的詳細內容,更多請關注TW511.COM其它相關文章!