函数/匿名函数/闭包总结

原创 2018-11-28 16:35:56 204
摘要:本章主要学习了函数知识,包括函数、匿名函数、闭包的定义和调用。通过学习,对所学知识进行实践,代码如下:<?php  //封装标准函数,用于输入分割线 function hrLine() {     echo '<hr>'; } /*  *  匿名函数调用 &n

本章主要学习了函数知识,包括函数、匿名函数、闭包的定义和调用。通过学习,对所学知识进行实践,代码如下:

<?php 

//封装标准函数,用于输入分割线
function hrLine()
{
    echo '<hr>';
}


/*
 *  匿名函数调用
 *  $multiOne :执行加法的第一个参数
 *  $multiTwo :执行加法的第二个参数,默认值为100
 *  return :两数相加
 */
$add=function($multiOne,$multiTwo=100){
    return $multiOne+$multiTwo;
};

//匿名函数调用两数相加
echo '调用匿名函数执行两数相加,200+100= ' , $add(200);

//调用标准函数,添加分割线
hrLine();

//匿名函数自调用两数相乘
echo (function($firstParm,$secondParm){
    echo '匿名函数自调用两数相乘,100*500=' . ($firstParm*$secondParm);
})(100,500);

//调用标准函数,添加分割线
hrLine();

$addAll=function(){
  $sum=0;for ($i=0;$i<count(func_get_args());$i++)
  {
      $sum+=func_get_arg($i);
  }
  return $sum;
};

echo '100+200+300+400=' , $addAll(100,200,300,400);

//调用标准函数,添加分割线
hrLine();

//使用回调函数调用hrLine()
function  huiDiaoHrLine($Line)
{
    echo $Line();
};

echo '使用会掉函数调用分割线:' , call_user_func('huiDiaoHrLine','hrLine');

//使用回调函数调用匿名函数$add
function huiDiaoAdd(callable $add)
{
    echo $add(200,500);
};

echo '使用回调函数调用匿名函数$add:200+500=' , huiDiaoAdd($add) , call_user_func('huiDiaoHrLine','hrLine');

//使用call_user_func_array调用$addAll
echo '使用call_user_func_array调用$addAll:500+600+1500=' , call_user_func_array($addAll,['500','600','1500']) , call_user_func('huiDiaoHrLine','hrLine');

/*
 * 闭包
 */
//定义匿名函数

$biBao=function()
{
    $name="鹏哥";
    return function() use ($name){
        return $name . '测试闭包函数成功';
    };
} ;


//调用闭包
echo $biBao()();





?>

执行效果图:

QQ截图20181128163406.jpg

批改老师:韦小宝批改时间:2018-11-28 16:58:54
老师总结:嗯!不错!写的很好!代码完整注释清晰!继续加油吧!

发布手记

热门词条