首頁 > 後端開發 > php教程 > php遞歸無法回傳問題,遞歸正確寫法

php遞歸無法回傳問題,遞歸正確寫法

不言
發布: 2023-03-24 13:42:02
原創
1566 人瀏覽過

這篇文章介紹的內容是關於php遞歸無法返回問題,遞歸正確寫法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

常規寫法

function digui($tiaojian){
    if ($tiaojian) {        return  $data;
    }    else{        return digui();
    }
}
登入後複製


注意:條件不成立時,一定要return 遞歸函數。不然無法正常回傳

如果遞迴只是為了輸出。可以簡寫:

function digui($tiaojian){
    if ($tiaojian) {        echo $data;
    }    else{
        digui();
    }
}
登入後複製

引用寫法

function digui($tiaojian,&$result){
    if ($tiaojian) {        $result=$data;
    }    else{
        digui();
    }
}
登入後複製

靜態變數

function digui(){
    static $count=0;    echo $count;    $count++;
}

digui();
digui();
digui();
digui();
digui();
登入後複製

輸出結果為:0 1 2 3 4
注意:靜態變數方法一定要謹慎使用。因為每次呼叫該方法的時候,都會對原來最早定義這個變數方法的基礎上去操作。

甚至unset 對靜態變數也無法銷毀

function digui(){
    static $count=0;    echo $count;    $count++;    unset($count);
}

digui();
digui();
digui();
digui();
digui();
登入後複製

這段程式碼依舊輸出0 1 2 3

相關推薦:

##php遞歸函數實例分析


以上是php遞歸無法回傳問題,遞歸正確寫法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板