亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 49
粉絲 0
評(píng)論 0
訪問量 49511
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
回調(diào)函數(shù)與遞歸函數(shù)實(shí)例總結(jié)
超超多喝水
原創(chuàng)
1131人瀏覽過

一、回調(diào)函數(shù)

所謂回調(diào)函數(shù),就是一個(gè)被作為參數(shù)傳遞的函數(shù),php回調(diào)函數(shù)是指在主線程執(zhí)行的過程中,突然跳去執(zhí)行設(shè)置的回調(diào)函數(shù),回調(diào)函數(shù)執(zhí)行結(jié)束后,在回到主線程處理下面的流程。

實(shí)例

<?php
 //聲明一個(gè)匿名函數(shù) 里面有$a,$b兩個(gè)形參
 $func = function($a,$b)
 {
     //返回$a+$b
     return $a+$b;
     //匿名函數(shù)后面別忘了;
 };
//聲明一個(gè)函數(shù)test,里面兩個(gè)形參,Closure代表匿名函數(shù)類,callback的中文意思回調(diào)函數(shù),這里的$callback是個(gè)形參,代表了那個(gè)函數(shù),這倆在一塊應(yīng)該是代表回調(diào)一個(gè)匿名函數(shù)類,作用是可以回調(diào)一個(gè)匿名函數(shù)
 function test(Closure $callback)
{
    //定義兩個(gè)局部變量$a,$b
    $a = 10;
    $b = 20;
    //輸出把兩個(gè)值賦給回調(diào)函數(shù)后的結(jié)果
    echo $callback($a,$b);
}
//調(diào)用test函數(shù)并將$func這個(gè)匿名函數(shù)作為實(shí)參傳入
test($func);

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例

二、遞歸函數(shù)

所謂遞歸函數(shù),就函數(shù)自身調(diào)用自身,但是這里需要在函數(shù)開始調(diào)用之前做判斷,否則會(huì)陷入死循環(huán),以清理緩存目錄為例(注意清理緩存目錄的文件,一定不要跟緩存目錄在一起,否則會(huì)把清理文件也處理掉,且最開始的父級(jí)目錄在文件被清除后將無法執(zhí)行清楚命令):

實(shí)例

<?php
//定義一個(gè)清空緩存的函數(shù)
function del($dir)
{
    //判斷當(dāng)前文件夾是否是一個(gè)正確的文件夾(即判斷是否是一個(gè)合法的目錄)
    if(is_dir($dir))
    {
        //定義一個(gè)初始值,默認(rèn)未被刪除
        $flag = false;
        //opendir()成功返回resource,失敗返回false,上面判斷是一個(gè)合法目錄,這里打開目錄流并賦值給一個(gè)變量,方便后面關(guān)閉
        if($handle = opendir($dir))
        {
            //開始循環(huán)讀取opendir返回的resource,readdir()從目錄句柄中讀取條目,成功則返回下一個(gè)文件的文件名。文件名以在文件系統(tǒng)中的排序返回。失敗返回false
            //判斷不為false時(shí)進(jìn)入循環(huán)
            while(($file = readdir($handle))!==false)
            {
                // echo "$file<hr>";//輸出的時(shí)候除了文件跟文件夾的列表,還能看到.跟..,一個(gè)點(diǎn)代表存在同級(jí)目錄,兩個(gè)點(diǎn)代表存在上級(jí)目錄
                if($file!='.'&&$file!='..')
                {
                    //這里可能又有文件夾,判斷當(dāng)前文件夾是否是一個(gè)正確的文件夾,這里跟最開始的路徑拼接
                    if(is_dir($dir.'\\'.$file))
                    {
                        //調(diào)用本函數(shù),遞歸處理文件夾(處理目錄)
                        del($dir.'\\'.$file);
                    }else{
                        //處理文件 這里還是$dir.'\\'.$file,這里判斷了他非目錄 那他就是一個(gè)文件,文件就用unlink()函數(shù)直接刪除
                        unlink($dir.'\\'.$file);
                    }
                }
            }
        }
        //關(guān)閉目錄句柄
        closedir($handle);
        //目錄只有為空才能被程序刪除 rmdir()刪除空文件夾
        if(rmdir($dir))
        {
            //處理后將最開始定義的初始值賦值為true,代表已經(jīng)刪除
            $flag = true;
        }
    }
}
//當(dāng)前路徑,建議使用絕對(duì)路徑,我這邊是使用__DIR__魔術(shù)常量定位到當(dāng)前的絕對(duì)路徑,然后往上找到同級(jí)的0807文件夾下,調(diào)用的0807文件夾
$path = __DIR__.'\\..\\0807';
//調(diào)用函數(shù)之前可以先看看路徑是否正確
echo $path;
//執(zhí)行函數(shù)
del($path);
?>

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例


批改老師:PHPzPHPz

批改狀態(tài):合格

老師批語:
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
作者最新博文
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)