匿名函数
匿名函数就是没有函数名称的函数,也称作闭包函数,经常用作回调函数参数的值。对于临时定义的函数,使用匿名函数无需考虑函数命名冲突的问题。具体示例如下。
$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是一个回调函数,通过这种方式,可以将函数的一部分处理交给调用时传递的另一个函数,极大增强了函数的灵活性。