在线看片18_亚洲性吧_在线污_神马午夜达达兔_奇米色网_在线免费看污

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

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

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

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

<?php
//登記回調(diào)函數(shù)
function insert(int $i):bool {
    echo "插入數(shù)據(jù){$i}\n";//模擬數(shù)據(jù)庫插入//響應(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) {//當滿足條件時,去執(zhí)行回調(diào)函數(shù)處理//觸發(fā)回調(diào)
            call_user_func($function, $value);//調(diào)用回調(diào)事件
        }
    }
}
action($arr,'insert');

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

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

函數(shù)字符串:

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

類靜態(tài)方法

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

類方法

<?php
$arr = range(0, 1000);//模擬生成1001條數(shù)據(jù)
function action(array $arr, callable $function)
{
    foreach ($arr as $value) {
        if ($value % 10 == 0) {//當滿足條件時,去執(zhí)行回調(diào)函數(shù)處理
            call_user_func($function, $value);
        }
    }
}
class A{
    public function insert(int $i):bool {
        echo "插入數(shù)據(jù){$i}\n";//模擬數(shù)據(jù)庫插入
        return true;
    }
}
$a = new A();
action($arr,array($a,'insert'));
主站蜘蛛池模板: 国产性在线 | 中文在线字幕观看 | 爱射综合| 九九国产精品视频 | 欧美日韩成人一区 | 亚洲自拍偷拍一区二区 | 国产第二页 | 视频一区在线播放 | 黄频在线免费观看 | 欧美美女一区二区 | 国产精品免费一区二区三区都可以 | 日韩黄视频 | 337p亚洲欧洲色噜噜噜 | 超碰97在线资源 | 久久免费在线观看视频 | 欧美日韩国产麻豆 | 日韩在线不卡视频 | 一区二区三区在线免费观看 | 秋霞欧美网 | 亚洲精品午夜 | 亚洲精品卡一卡二 | 成年人黄色免费视频 | 日韩精品午夜 | 一级做a爱片久久毛片 | 在线视频中文 | 黄色成年人视频 | 久草免费在线观看视频 | 成人性视频免费看 | 成人毛片a | 香蕉视频在线观看黄 | 成人免费在线播放 | 一级黄色大片免费观看 | 国产成人av一区二区三区 | 涩涩涩涩色 | 国产精品日韩av | 国产91一区| 青青国产精品视频 | 看特级毛片 | 亚洲一区二区三区在线播放 | 中文在线一区 | 久久视频在线 |