匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php 

class PHPClass {

public function executeMethod() {
echo __METHOD__ . '()' . PHP_EOL;
}
}

function functionParams() {
echo __FUNCTION__ . '()' . PHP_EOL;
}

function functionWithFuncParams($function) {
$function();
}

$anonymousFunction = function() {
echo 'this is anonymous function' . PHP_EOL;
};
$phpClass = new PHPClass();

functionWithFuncParams([$phpClass, 'executeMethod']);
functionWithFuncParams('functionParams');
functionWithFuncParams($anonymousFunction);

结果

1
2
3
PHPClass::executeMethod()
functionParams()
this is anonymous function