如何在PHP中使用2个变量作为函数名

时间:2017-03-12 07:42:45

标签: php

我有一个运行变量的代码作为函数名。

$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);

的结果

我知道这是一个糟糕的选择。但我没有其他任何选择。

有没有办法得到结果。 是否编码错误。 让我完成这个。任何人都可以帮助我。三江源。

1 个答案:

答案 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);
}