学科分类
目录
PHP基础

匿名函数

匿名函数就是没有函数名称的函数,也称作闭包函数,经常用作回调函数参数的值。对于临时定义的函数,使用匿名函数无需考虑函数命名冲突的问题。具体示例如下。

   $sum = function($a, $b) {  // 定义匿名函数
     return $a + $b;
   };
   echo $sum(100, 200);    // 输出结果:300

在上述代码中,定义一个匿名函数,并赋值给变量$sum,然后通过“变量名()”的方式调用匿名函数。

在开发中,若要在匿名函数中使用外部的变量,需要通过use关键字实现,具体使用示例如下。

$c = 100;
$sum = function($a, $b) use($c) {
  return $a + $b + $c;
};
echo $sum(100, 200);     // 输出结果:400

上述代码中,若要在匿名函数中使用外部变量,该变量需先在函数声明前进行定义。然后在定义匿名函数时,添加use关键字,其后圆括号“()”中的内容即为要使用的外部变量列表,多个变量之间使用英文逗号“,”分隔即可。

除此之外,匿名函数还可以作为函数的参数传递,实现回调函数。具体使用示例如下。

function calculate($a, $b, $func)
{
  return $func($a, $b);
}
echo calculate(100, 200, function($a, $b) {  // 输出结果:300
  return $a + $b;
});
echo calculate(100, 200, function($a, $b) {  // 输出结果:20000
  return $a * $b;
});

在上述代码中,calculate()函数的第3个参数$func是一个回调函数,通过这种方式,可以将函数的一部分处理交给调用时传递的另一个函数,极大增强了函数的灵活性。

点击此处
隐藏目录