我有一个相当愚蠢的PHP问题:D!我想简化以下声明:
function hello_input() {
return 'Hello World';
}
$helper = 'hello';
$helper = $helper . '_input';
$data = $helperinput();
我想简化的具体部分是将_input添加到$ helper,以便调用正确的函数。
我想到了类似的东西,但它不起作用:
$data = $helper. 'input'();
or
$data = $helper. 'input' . ();
有什么想法吗?
谢谢, 最大
答案 0 :(得分:13)
使用call_user_func
,例如$data = call_user_func($helper.'input');
。
答案 1 :(得分:0)
首先将整个函数名称转换为字符串。
$helper = 'hello';
$func = $helper . '_input';
$data = $func();
PHP调用此variable functions。另请参阅variable variables。
答案 2 :(得分:0)
答案 3 :(得分:0)
您是否希望根据输入调用代码?你永远不应该试着这样做。这使人们有机会执行任意代码。即使你看不清楚,它仍然是一种潜在的攻击方法。
你可能想要的是一个与输入匹配的switch语句(或链接if语句)并发送正确的函数。