我很兴奋地阅读关于anonymous functions在PHP中,它让你声明一个变量,功能比你可以做的更容易create_function。现在我想知道如果我有一个函数传递一个变量,我该如何检查它以确定它是否是一个函数?没有is_function()函数的是,当我做一个变量的的var_dump这是一个功能::php is_function(),以确定一个变量是否是一个函数
$func = function(){
echo 'asdf';
};
var_dump($func);
我得到这个:
object(Closure)#8 (0) { }
如何检查,如果这有什么想法是一个函数?
无论您传入匿名函数,函数名称作为字符串还是有效的PHP回调数组,is_callable()都会很好。如果你特别想要检查匿名函数,那么你会想要类似Gumbo所说的东西:确保参数是一个对象,并确保它是一个实例闭包。 – Lane 2011-11-03 16:21:15
如果我想检查它是犊牛还是绳子,并为它们做不同的事情,该怎么办?我不希望字符串值被意外地作为回调。 – Gherman 2014-08-19 11:26:01
@German首先检查is_string($ func),然后再用is_callable($ func)检查 – Heroselohim 2015-01-08 21:48:53