五月天激情丁香,国产精品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'));
主站蜘蛛池模板: 99在线观看精品 | 久久精品久久久久 | 欧美乱妇欲仙欲死视频免费 | 久久理论片 | 一级毛片免费看 | 国产成人精品18 | 国产热| 国产一区在线观看视频 | 斗破苍穹漫画扑飞在线观看免费版 | 久久精品人人爽人人爽快 | 色婷婷影院在线视频免费播放 | 丁香六月婷婷激情 | 国产在线视频你懂的 | 免费观看一级成人毛片软件 | 久久综合免费视频 | 国语视频在线观看免费 | 久久香蕉热 | 99久久精品免费精品国产 | 精品久久久久久中文字幕网 | 深爱五月网 | 狠狠色噜噜狠狠狠狠97不卡 | 丁香六月五月婷婷 | 久久精品精品 | www激情五月| 九九视频在线免费观看 | 色男人的天堂久久综合 | 五月婷婷一区二区 | 日本高清不卡一区久久精品 | 免费一级视频在线播放 | 国产天堂网 | 久久99这里只有精品 | 国产精品久久久久久久毛片 | 日韩中文字幕不卡 | 国产欧美精品一区aⅴ影院 国产欧美精品午夜在线播放 | 三上悠亚免费一区二区在线 | 久久毛片免费 | 国产亚洲第一精品社区麻豆 | 欧美 自拍偷拍 | 久久久久久久国产 | 99这里有精品视频 | 97免费在线观看 |