日韩在线观看-日韩在线成人-日韩在线不卡视频-日韩在线不卡视频-国产精品99-国产精品99

閉包函數(shù)

閉包的概念

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

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

在這里面,使用匿名函數(shù),use了函數(shù)外部的$server變量,才使得定時(shí)器能回調(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;
});
主站蜘蛛池模板: 阿尔罕布拉宫的回忆吉他谱| 职业目标评估| 电影《埋葬巴斯托》| 夫妻性视频| 名字简写设计| 免费完整版在线观看| 天地姻缘七仙女演员表| srv| 黄网站免费观看视频| 1980属猴多少岁了| 彭丹主演的经典电影| 北风那个吹在线观看免费完整版| 金沙滩秦腔剧情介绍| 棉袜vk| 法医秦明之幸存者 2018 经超| 娇喘视频在线观看| 智乐星中考| 张子恩| ab变频器中文说明书| 操老女人视频| 血色天劫| 上官于飞| 李洋演员个人简介图片| 绿门背后| 松子的一生| 小数加减法评课| 江南style之我的白日梦| 纳米核心第二季| 电视剧《反击》主要演员| 相声剧本(适合学生)| 老阿姨电视剧在线观看| 美国派7| 五年级上册学法大视野答案| 美女网站视频免费| 李彦萱| 假面骑士电王| 马文的战争删减视频在线观看| 人世间豆瓣| 皮肤诊所| 浙江省全省地图| 夫妻的情妇|