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

閉包函數(shù)

閉包的概念

閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。例如在javascript中,只有函數(shù)內(nèi)部的子函數(shù)才能讀取局部變量,所以閉包可以理解成“定義在一個函數(shù)內(nèi)部的函數(shù)“。在本質(zhì)上,閉包是將函數(shù)內(nèi)部和函數(shù)外部連接起來的橋梁。 在php中,閉包函數(shù)一般就是匿名函數(shù). 舉例,有一個定時任務(wù),每一秒執(zhí)行一次,現(xiàn)在我們要開啟一個服務(wù),然后準(zhǔn)備在30秒的時候關(guān)閉這個服務(wù)

<?php
function tick($callback){
    while (1) {//簡單實現(xiàn)的定時器,每秒都去執(zhí)行一次回調(diào)
        call_user_func($callback);
        sleep(1);
    }
}
class Server
{
    //模擬退出一個服務(wù)
    public function exitServer()
    {
        return true;
    }
}
$server = new Server();
$time = time();
tick(function ()use($server) {
    $server->exitServer();
});

在這里面,使用匿名函數(shù),use了函數(shù)外部的$server變量,才使得定時器能回調(diào)調(diào)用$server->exitServer();

匿名函數(shù)

匿名函數(shù) 通俗來講,就是沒有名字的函數(shù),例如上面寫的function(){},它通常作為閉包函數(shù)使用,使用方法如下:

<?php
$fun = function($name){
    printf("Hello %s\r\n",$name);
};
echo $fun('Tioncico');
function a($callback){
    return $callback();
}
a(function (){
    echo "EasySwoole\n";
    return 1;
});

use

PHP在默認(rèn)情況下,匿名函數(shù)不能調(diào)用所在代碼塊的上下文變量,而需要通過使用use關(guān)鍵字。

<?php
function a($callback){
    return $callback();
}
$str1 = "hello,";
$str2 = "Tioncico,";
a(function ()use($str1,$str2){
    echo $str1,$str2,"EasySwoole\n";
    return 1;
});
主站蜘蛛池模板: 精品免费一区二区三区 | 国产精品不卡无毒在线观看 | 精品suv一区二区三区 | 国产在线精品一区二区三区不卡 | 国产一区国产二区国产三区 | 久久99这里精品8国产 | 97九色 | 色狠狠成人综合网 | 国产aⅴ精品一区二区三区久久 | 国产成人精品一区二区免费 | 黄色的视频网站在线观看 | 男人天堂网站在线 | 五月天婷婷在线播放 | 涩涩电影网站 | 欧美精品aaa久久久影院 | 婷婷六月丁香 | 久久精品2| 日韩中文字幕精品免费一区 | 丁香花在线观看观看 | 国产精品网址在线观看你懂的 | 一级毛片免费观看视频 | 免费一级毛片在线播放放视频 | 欧美一区二区在线观看 | 久久免费香蕉视频 | 成人免费观看永久24小时 | 日日拍夜夜嗷嗷叫狠狠 | 免费的黄色小视频 | 久久久久久久国产免费看 | 欧美日韩中文亚洲另类春色 | 国产亚洲欧美视频 | 福利区在线观看 | 狠狠操综合网 | 激情六月丁香婷婷 | 蜜臀影院在线观看免费 | 天天综合久久 | 五月激情啪啪网 | 四虎在线观看免费视频 | 一级一级一级毛片 | 久久亚洲日本不卡一区二区 | 激情综合网婷婷 | 精品无人区乱码1区2区3区在线 |