php递归无法返回问题,递归正确写法

不言
Lepaskan: 2023-03-24 13:42:02
asal
1540 orang telah melayarinya

这篇文章介绍的内容是关于php递归无法返回问题,递归正确写法 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

常规写法

function digui($tiaojian){
    if ($tiaojian) {        return  $data;
    }    else{        return digui();
    }
}
Salin selepas log masuk


注意:条件不成立时,一定要return 递归函数。不然无法正常返回

如果递归只是为了输出。可以简写:

function digui($tiaojian){
    if ($tiaojian) {        echo $data;
    }    else{
        digui();
    }
}
Salin selepas log masuk

引用写法

function digui($tiaojian,&$result){
    if ($tiaojian) {        $result=$data;
    }    else{
        digui();
    }
}
Salin selepas log masuk

静态变量

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

digui();
digui();
digui();
digui();
digui();
Salin selepas log masuk

输出结果为:0 1 2 3 4
注意:静态变量方法一定要谨慎使用。因为每次调用该方法的时候,都会对原来最早定义这个变量方法的基础上去操作。

甚至 unset 对静态变量也无法销毁

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

digui();
digui();
digui();
digui();
digui();
Salin selepas log masuk

这段代码依旧输出 0 1 2 3

相关推荐:

php递归函数实例分析


Atas ialah kandungan terperinci php递归无法返回问题,递归正确写法 . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!