五月天激情丁香,国产精品2019,国产成人精品亚洲2020,国产精品免费视频一区二区三区,开心久久婷婷综合中文字幕,天堂视频在线观看免费完整版

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

回調(diào)函數(shù)就是在主進(jìn)程執(zhí)行當(dāng)中,突然跳轉(zhuǎn)到預(yù)先設(shè)置好的函數(shù)中去執(zhí)行的函數(shù).

以下是自知乎作者常溪玲的解說(shuō):
你到一個(gè)商店買(mǎi)東西,剛好你要的東西沒(méi)有貨,于是你在店員那里留下了你的電話,過(guò)了幾天店里有貨了,店員就打了你的電話,然后你接到電話后就到店里去取了貨。在這個(gè)例子里,你的電話號(hào)碼就叫回調(diào)函數(shù),你把電話留給店員就叫登記回調(diào)函數(shù),店里后來(lái)有貨了叫做觸發(fā)了回調(diào)關(guān)聯(lián)的事件,店員給你打電話叫做調(diào)用回調(diào)函數(shù),你到店里去取貨叫做響應(yīng)回調(diào)事件。

以下是一個(gè)非常簡(jiǎn)單的回調(diào)函數(shù)的例子:

<?php
//登記回調(diào)函數(shù)
function insert(int $i):bool {
    echo "插入數(shù)據(jù){$i}\n";//模擬數(shù)據(jù)庫(kù)插入//響應(yīng)回調(diào)事件
    return true;
}
$arr = range(0,1000);//模擬生成1001條數(shù)據(jù)
function action(array $arr, callable $function)
{
    foreach ($arr as $value) {
        if ($value % 10 == 0) {//當(dāng)滿足條件時(shí),去執(zhí)行回調(diào)函數(shù)處理//觸發(fā)回調(diào)
            call_user_func($function, $value);//調(diào)用回調(diào)事件
        }
    }
}
action($arr,'insert');

在這個(gè)例子中,首先定義了一個(gè)插入數(shù)據(jù)的函數(shù),定義了一個(gè)1001條數(shù)據(jù)的數(shù)組 然后調(diào)用了action函數(shù),當(dāng)遍歷數(shù)組滿足條件時(shí),則執(zhí)行設(shè)定好的回調(diào)函數(shù)進(jìn)行插入數(shù)據(jù)

回調(diào)函數(shù)的幾種寫(xiě)法

函數(shù)字符串:

<?php
function insert(int $i):bool {
    echo "插入數(shù)據(jù){$i}\n";//模擬數(shù)據(jù)庫(kù)插入
    return true;
}
$arr = range(0,1000);//模擬生成1001條數(shù)據(jù)
function action(array $arr, callable $function)
{
    foreach ($arr as $value) {
        if ($value % 10 == 0) {//當(dāng)滿足條件時(shí),去執(zhí)行回調(diào)函數(shù)處理
            call_user_func($function, $value);
        }
    }
}
action($arr,'insert');

匿名函數(shù)

<?php
$arr = range(0,1000);//模擬生成1001條數(shù)據(jù)
function action(array $arr, callable $function)
{
    foreach ($arr as $value) {
        if ($value % 10 == 0) {//當(dāng)滿足條件時(shí),去執(zhí)行回調(diào)函數(shù)處理
            call_user_func($function, $value);
        }
    }
}
action($arr,function($i){
    echo "插入數(shù)據(jù){$i}\n";//模擬數(shù)據(jù)庫(kù)插入
    return true;
});

類(lèi)靜態(tài)方法

<?php
$arr = range(0, 1000);//模擬生成1001條數(shù)據(jù)
function action(array $arr, callable $function)
{
    foreach ($arr as $value) {
        if ($value % 10 == 0) {//當(dāng)滿足條件時(shí),去執(zhí)行回調(diào)函數(shù)處理
            call_user_func($function, $value);
        }
    }
}
class A{
    static function insert(int $i):bool {
        echo "插入數(shù)據(jù){$i}\n";//模擬數(shù)據(jù)庫(kù)插入
        return true;
    }
}
action($arr,'A::insert');
action($arr,array('A','insert'));

類(lèi)方法

<?php
$arr = range(0, 1000);//模擬生成1001條數(shù)據(jù)
function action(array $arr, callable $function)
{
    foreach ($arr as $value) {
        if ($value % 10 == 0) {//當(dāng)滿足條件時(shí),去執(zhí)行回調(diào)函數(shù)處理
            call_user_func($function, $value);
        }
    }
}
class A{
    public function insert(int $i):bool {
        echo "插入數(shù)據(jù){$i}\n";//模擬數(shù)據(jù)庫(kù)插入
        return true;
    }
}
$a = new A();
action($arr,array($a,'insert'));
主站蜘蛛池模板: 成人午夜电影院 | 国产精品精品视频 | 日本精品久久久久久久 | 222www免费视频 | 国产精品一区二区不卡小说 | 国产一区二区三区不卡观 | 欧美无遮挡一区二区三区 | 视频二区在线观看 | 日韩a一级欧美一级在线播放 | 色偷偷久久一区二区三区 | 就爱啪啪网站 | 99精品视频在线视频免费观看 | 成年啪啪网站免费播放看 | 钢铁的魔女动漫 | 免费一看一级毛片全播放 | 久久永久电影www电影网 | 福利区在线观看 | 亚洲激情视频网站 | 爱爱五月天 | 99香蕉视频 | 久草国产在线 | 国产在线观看一区二区三区四区 | 国产福利短视频 | 九九这里只有精品视频 | 色综合色综合色综合色综合网 | 成人性爱视频在线观看 | 欧美69精品国产成人 | 婷婷五月小说 | 高清不卡一区 | 青草免费免费观看视频在线 | 国内国内在线精品视频 | 免费120秒 | 99久久er热在这里都是精品99 | 99久久国产综合精品成人影院 | 日本不卡免费新一区二区三区 | 久久一级电影 | 国产美女精品久久久久中文 | aa成人| 久久精品香蕉视频 | 国产精品日韩欧美亚洲另类 | 五月激情在线 |