初学匿名函数及闭包函数的小案例,了解PHP中匿名函数即是闭包函数

原创 2018-11-25 19:13:35 224
摘要:<?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 定义的函数字面量

发布手记

热门词条