没有名称的函数 php "Anonymous functions"

Function with no name php "Anonymous functions"

编辑:

找到它的名字 "Anonymous functions"。

示例:

$greet = function($name){
    printf("Hello %s\r\n", $name);
};

$greet('World');
$greet('PHP');

原文:

标题:没有名称的函数php

我知道函数在 PHP 中是如何工作的,但我找到了下面的代码,但我不明白其中的调用:

function ($matches)

不应该是这样的:

function NAME_OF_FUNCTION ($matches)

有人能解释一下吗?谢谢

它被称为匿名函数:http://php.net/manual/en/functions.anonymous.php

函数 本身 正在作为参数传递给 preg_replace_callback。从结构上讲,它基本上是:

preg_replace_callback($some_value, function () { ... }, $another_value);

Inside of preg_replace_callback 函数有一个名字,参数的名字。因此,如果它被定义为:

function preg_replace_callback($pattern, $callback, $input)

然后在该函数内部的某处调用传递给它的函数:

$callback();

函数的内联声明是 anonymous function。文档显示了一个更简单的演示:

$greet = function($name) {
    printf("Hello %s\r\n", $name);
};
$greet('World');