php递归经典案例

angryTom
Lepaskan: 2023-04-07 15:50:01
ke hadapan
3073 orang telah melayarinya

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

一、什么是递归函数?

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

二、几行看懂php递归

function recursion($i){
 
    if($i<1){
        exit;    // 递归出口
    }
    echo $i."<br/>";
    recursion($i-1);
 
}
 
recursion(10); // 浏览器将显示从10显示到1
Salin selepas log masuk

效果图

6c883ec7f83e9236de9a21b27b02f17f.png

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

$item = array(
    array(&#39;id&#39;=>1,&#39;pid&#39; => 0, &#39;name&#39;=>&#39;广东省&#39; ),
    array(&#39;id&#39;=>2,&#39;pid&#39; => 0, &#39;name&#39;=>&#39;广西省&#39; ),
    array(&#39;id&#39;=>3,&#39;pid&#39; => 1, &#39;name&#39;=>&#39;深圳市&#39; ),
    array(&#39;id&#39;=>4,&#39;pid&#39; => 3, &#39;name&#39;=>&#39;宝安区&#39; ),
    array(&#39;id&#39;=>5,&#39;pid&#39; => 1, &#39;name&#39;=>&#39;广州市&#39; ),
);
 
 
function recursion($array, $pid = 0){
 
    $arr = array();
    foreach ($array as $v) {
        if ($v[&#39;pid&#39;] == $pid) {
            $temp = array();
            $temp = recursion($array, $v[&#39;id&#39;]);
            //判断是否存在子数组
            if($temp)
            {
                $v[&#39;son&#39;] = $temp;
            }
            $arr[] = $v;
        }
    }
    return $arr;
     
}
 
 
$array = recursion($item);
echo "<pre class="brush:php;toolbar:false">";
print_r($array);
Salin selepas log masuk

效果图

4910dd9c27d0b98a6d657fd0076960fd.png

 更多PHP相关知识,请访问PHP中文网

Atas ialah kandungan terperinci php递归经典案例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:www.whmblog.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan