下面有一个被调用的函数test,对于这个问题,只需要echos"test"保持简单。
test();
function test() {
echo "do something";
}
然而,如果这是正确的措辞,我想尝试使函数动态。
我在数据库中有一个记录列表,根据每个记录,我可能想要一个不同的函数来处理该记录,然后在数据库中创建一个字段function_name,然后使用该字段来调用该函数。
像这个
test();
$function_name = "test";
function $function_name() {
echo "do something here";
}
我唯一能想到的解决办法是使用switch/case,但这会给我带来其他问题。
函数必须用特定的名称定义,但您可以使用包含其名称的变量来调用它,如下所示:-
<?php
function name() {
echo "name";
}
$func_name = 'name';
// its always a good idea to check that function
// actually exists before calling it.
if (function_exists($func_name)) {
$func_name();
}
为此使用闭包:
<?php
$funcName = 'test';
$$funcName = function ()
{
echo 'Do something';
};
$test(); // 'Do something'
$$funcName(); // 'Do something'