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

閉包函數

閉包的概念

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

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

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

匿名函數

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

<?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在默認情況下,匿名函數不能調用所在代碼塊的上下文變量,而需要通過使用use關鍵字。

<?php
function a($callback){
    return $callback();
}
$str1 = "hello,";
$str2 = "Tioncico,";
a(function ()use($str1,$str2){
    echo $str1,$str2,"EasySwoole\n";
    return 1;
});
主站蜘蛛池模板: 开心激情播播网 | 久久国产精品99精品国产 | 色播久久 | 国产人人艹 | 欧美1区 | 美女网站在线看 | 精品一区二区三区四区乱码 | 免费理伦片在线观看全网站 | 欧美高清视频在线 | 五月婷婷六月天 | 久久国产一区二区三区 | 精品一区二区视频 | 全免费a级毛片 | 国产美女白嫩嫩在线观看 | 国产大学生自拍视频 | 国产青草视频在线观看免费影院 | 精品热99 | 久久91亚洲精品中文字幕 | 开心色播五月 | 成人精品国产亚洲欧洲 | 高清视频免费看 | sihu网站| 久久精品99视频 | 精品国产欧美一区二区 | 国产精品九九免费视频 | 精品一区二区三区四区五区六区 | 亚洲国产精品人人做人人爽 | 欧美精品一区二区三区免费观看 | 日本aⅴ精品一区二区三区久久 | 伊人国产在线观看 | 成人免费一级片 | 国产日本精品 | 99日精品欧美国产 | 青青久久国产成人免费网站 | 天天五月天丁香婷婷深爱综合 | www.精品视频 | 五月开心综合 | 久久天天躁狠狠躁夜夜不卡 | 9久久精品 | 久久精品a亚洲国产v高清不卡 | 久久国产成人午夜aⅴ影院 久久国产成人精品国产成人亚洲 |