在PHP中,create_function
和匿名函数都用于创建匿名函数,但它们有以下区别:
create_function
是一个函数,用于动态创建并返回一个匿名函数,它接受两个参数:参数列表和函数体。它的用法如下:
$func = create_function('$a, $b', 'return $a + $b;'); echo $func(1, 2); // 输出 3
- 匿名函数是PHP 5.3引入的新特性,用于创建一个没有函数名的匿名函数,可以直接赋值给一个变量或作为回调函数传递。它的用法如下:
$func = function($a, $b) {
return $a + $b;
};
echo $func(1, 2); // 输出 3
-
create_function
创建的匿名函数会返回一个字符串表示的函数名,而匿名函数则直接返回一个函数对象。 -
create_function
在PHP 7.2及以上版本中已被废弃,不推荐使用。推荐使用匿名函数来创建匿名函数。