我一直收到错误,说明函数名必须在字符串中,或者它只是运行但不会在函数中打印任何字符串。我错过了什么?
<?php
$funName="{'$oneRun()'}";
echo "Hello You are running ".$funName."\n\n$";
function oneRun()
{ echo "Running Function One";return "one";}
function twoRun()
{ echo "Leave me alone, go bug Function One";return "two";}
?>
答案 0 :(得分:3)
您的意思是callable
s还是variable function
s?
$funName = 'oneRun'; // save only name
echo "Hello You are running " . $funName() . "\n\n$";
答案 1 :(得分:0)
你在另一个回声中呼叫一个回声,这是无效的。
我猜是这样的:
<?php
$funName="{'$oneRun()'}";
echo "Hello You are running ";
oneRun();
echo "\n\n$";
function oneRun()
{ echo "Running Function One";return "one";}
function twoRun()
{ echo "Leave me alone, go bug Function One";return "two";}
?>
会做这个工作吗?
答案 2 :(得分:0)
我总是使用:
call_user_func($string_function_or_closure, ...);
call_user_func(array($object, 'Method'), ...);
call_user_func(array(StaticClass, 'Method'), ...);
或:
call_user_func_array($string_function_or_closure, array(...));
call_user_func_array(array($object, 'Method'), array(...));
call_user_func_array(array(StaticClass, 'Method'), array(...));
表示字符串函数。它比以下更明确:
$function();
它还可以在IDE中更好地显示它。