我有一个运行变量的代码作为函数名。
$id = $_GET["id"];
$thing = 'draw_calendar'.$id;
$$thing = function($month,$year,$per_day_chu){
//code
}
echo $draw_calendar1(date("m"), date("Y"), $per_day_chu);
上面的代码运行得很好。但$id
值是动态的而不是常量值。所以我不能像echo $draw_calendar1(date("m"), date("Y"), $per_day_chu);
一样调用函数。
我希望达到类似echo $draw_calendar.$id(date("m"), date("Y"), $per_day_chu);
我知道这是一个糟糕的选择。但我没有其他任何选择。
有没有办法得到结果。 是否编码错误。 让我完成这个。任何人都可以帮助我。三江源。
答案 0 :(得分:1)
你可以将它连接成一个变量,如下所示:
$functionName = $draw_calendar . $id;
然后你可以这样称呼它:
$functionName(date("m"), date("Y"), $per_day_chu);
由于您的ID是从GET参数输入的,因此在调用您的函数之前,您可能需要验证它是否存在,否则如果它不存在则会出现错误:
if (function_exists($functionName)) {
$functionName(date("m"), date("Y"), $per_day_chu);
}