亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

回調函數

回調函數就是在主進程執行當中,突然跳轉到預先設置好的函數中去執行的函數.

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

以下是一個非常簡單的回調函數的例子:

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

在這個例子中,首先定義了一個插入數據的函數,定義了一個1001條數據的數組 然后調用了action函數,當遍歷數組滿足條件時,則執行設定好的回調函數進行插入數據

回調函數的幾種寫法

函數字符串:

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

匿名函數

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

類靜態方法

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

類方法

<?php
$arr = range(0, 1000);//模擬生成1001條數據
function action(array $arr, callable $function)
{
    foreach ($arr as $value) {
        if ($value % 10 == 0) {//當滿足條件時,去執行回調函數處理
            call_user_func($function, $value);
        }
    }
}
class A{
    public function insert(int $i):bool {
        echo "插入數據{$i}\n";//模擬數據庫插入
        return true;
    }
}
$a = new A();
action($arr,array($a,'insert'));
主站蜘蛛池模板: 中文字幕在线观看 | 国产二区三区视频 | 本站只有精品 | 中日字幕大片在线播放 | 日韩精品一区二区三区四区在线观看 | 久久久精品免费 | 777777色狠狠俺88888 | a级一a一级在线观看 | 朋友的妈妈免费观看 | 精品国产不卡一区二区三区 | 免费一级片在线观看 | 美脚の诱脚舐め脚视频播放 | 成人欧美一区二区三区 | 久久另类 | 91亚洲国产成人精品性色 | 26uuu成人亚洲综合色 | 在线免费国产 | 天天天天天天干 | 男生操女生的视频网站 | 一区二区高清 | 中文字幕激情 | 久久精品天堂 | 九九99热久久精品66中文字幕 | 欧美精品网 | 秘书高跟黑色丝袜国产91在线 | 久久首页| 成人黄大片视频在线观看 | 欧美日韩中文字幕一区二区 | 九九爱这里只有精品 | 天堂影院电影在线看 | 国产精品免费一区二区 | 毛片在线免费播放 | 欧美一级淫片aaaaaaa | 男插女视频免费 | 日本一区久久 | 成人在线毛片 | 亚洲国产综合色产精品色在线 | 成人免费黄色片 | 国产亚洲精品美女 | 91久久国产综合久久91精品 | 色老板在线|