是的,您可以在 php 5.3 或更高版本中,您可以在此处阅读文档:http:
//php.net/manual/en/functions.anonymous.php
它的工作方式与 JavaScript 不太一样。JavaScript 是一种原型语言,而 php 不是。
您可以在 JavaScript 中执行此操作:
var value = 'foo';
object.doSomething(function () {
console.log(value);
});
您可以这样做,因为 JavaScript 函数引用了它的创建者。在php中你不能。该值将超出范围。
除此之外,它的工作方式类似。例如,如果您想对数组或其他结构进行动态迭代。
function iterateOverArray($array, $function) {
foreach ($array as $key => $value) {
$function($key, $value);
}
}
该函数允许您遍历数组并指定您自己的操作。例如:
$array = array('foo', 'bar', 'FOBAR');
iterateOverArray($array, function ($key, $value) {
echo $key . ' => ' . $value;
});
这对于修改复杂的结构非常有用。但这是我在 php 中使用匿名函数的唯一情况。但也许那是因为它在 php 中仍然是一种新的东西。