问题:
如何检查函数是否作为参数传递?如何检查函数是否作为参数传递?
特别是如果被传递的函数返回一个字符串等?
IE在下面的例子中我不希望htmlentities函数html被作为参数传递,但我确实想要其他的东西。另外假设可能有多个参数需要稍后才能使用。
例子:
function html($tag,$content)
{
if(!is_callable($content)){$var=htmlentities($var, ENT_NOQUOTES, "UTF-8");}
return "<".$tag.">".$content."</".$tag.">";
}
echo html(html('Example','Example'),'Example');
这个例子似乎并没有为我工作。当它的一个函数时,我仍然会获得htmlentitied内容。
您没有向'foo()'传递函数,而是将内部'foo()'函数的返回值传递给外部'foo()',这是一个字符串。 – nickb 2012-07-27 15:19:09
即便如此,有没有办法检查一个函数是否返回一个值?一些方法来检测功能输入? @nickb – 2012-07-27 15:20:00
可能的重复:http://stackoverflow.com/questions/2835627/php-is-function-to-determine-if-a-variable-is-a-function第二个答案应该可以解决您的问题 – nybbler 2012-07-27 15:22:29