Heim  >  Artikel  >  Backend-Entwicklung  >  Klassischer Fall der PHP-Rekursion

Klassischer Fall der PHP-Rekursion

angryTom
angryTomnach vorne
2019-10-14 18:24:553050Durchsuche

Dieser Artikel stellt Ihnen einen klassischen Fall einer Rekursion vor.

1. Was ist eine rekursive Funktion?

Eine Funktion, die sich selbst innerhalb ihres Funktionskörpers aufruft, wird als rekursiver Aufruf bezeichnet. Diese Art von Funktion wird als rekursive Funktion bezeichnet.

2. PHP-Rekursion in wenigen Zeilen verstehen

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

Rendering

Klassischer Fall der PHP-Rekursion

3 Listen Sie rekursiv Provinzen und Städte auf

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

Rendering

Klassischer Fall der PHP-Rekursion

Weitere PHP-Kenntnisse finden Sie auf der PHP-Chinese-Website!

Das obige ist der detaillierte Inhalt vonKlassischer Fall der PHP-Rekursion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:www.whmblog.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen