我正在研究这本书"编程PHP第3版",我想到了这些代码:
$callback = function myCallbackFunction()
{
echo "callback achieved";
} call_user_func($callback);
但是,当我尝试运行它时,我收到以下错误:
syntax error, unexpected 'myCallbackFunction' (T_STRING), expecting'('
我做错了吗?代码不正确吗?
这是我的PHP版本:
% php -v 255 ↵
PHP 5.4.19 (cli) (built: Sep 18 2013 14:26:26)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with XCache v2.0.1, Copyright (c) 2005-2012, by mOo
with the ionCube PHP Loader v4.5.2, Copyright (c) 2002-2014, by ionCube Ltd.
答案 0 :(得分:2)
匿名函数没有函数名。这就是为什么他们被称为匿名。定义应如下所示:
$callback = function ()
{
echo "callback achieved";
};
call_user_func($callback);
答案 1 :(得分:0)
您可以定义anonymous功能或non-anonymous.
要定义一个令人讨厌的东西,你有什么想要做的,你不应该在参数列表()
$callback = function()
{
echo "callback achieved";
};
call_user_func($callback);
答案 2 :(得分:0)
看起来你正在尝试创建一个匿名函数。
$callback = function()
{
echo "callback achieved";
}
call_user_func($callback);
尝试删除功能名称。
如果您尝试调用现有函数,则可以这样执行:
function myCallbackFunction()
{
echo "callback achieved";
}
call_user_func('myCallbackFunction');