摘要:<?php//定义匿名函数$learn =function ($name){ return $name. '喜欢上了学习PHP';};//调用匿名函数echo $learn('睿芸'),"<hr>";$language="php";$learn2 =function ($name)
<?php
//定义匿名函数
$learn =function ($name)
{
return $name. '喜欢上了学习PHP';
};
//调用匿名函数
echo $learn('睿芸'),"<hr>";
$language="php";
$learn2 =function ($name) use ($language)
{
return $name. '最近喜欢上了学习' .$language;
};
//调用匿名函数
echo $learn2('睿芸'),"<hr>";
//闭包,闭包函数在PHP中就是匿名函数,将匿名函数当变量使用
$fun1=function ()
{
$name1 = '睿芸';
//定义一个匿名函数
$learn1 = function () use ($name1)
{
return $name1 .'喜欢上了PHP,今天在学闭包';
};
//调用
return $learn1();
};
echo $fun1(),'<hr>';
//将匿名函数当参数使用
$name1='睿芸';
$learn1 = function () use ($name1)
{
return $name1 .'喜欢上了PHP,今天在学闭包当参数的使用方法';
};
//用callable限定参数类型是闭包类型,可以不加,但建议加
$fun2=function (callable $learn1)
{
return $learn1();
};
echo $fun2($learn1),'<hr>';
//将匿名函数当作返回来使用
$funt3=function ()
{
$name='睿芸';
//声明匿名函数
$test3=function () use($name)
{
return $name.'今天学习的是闭包函数当作返回值来使用';
};
return $test3;
};
//返回值是一个匿名函数的定义,因此要执行函数,需要加()
echo $funt3()(),'<hr>';
批改老师:天蓬老师批改时间:2018-11-25 19:37:56
老师总结:匿名函数,与之对应的就是: 命名函数,其实就是用关键字function 定义的函数字面量