PHP 如何从变量中获取和使用名称函数?

PHP How get and use name function from variable?

$function = $_GET["function"];
        if(property_exists($this, $function )){
            echo $this->function(); // problem is here
        }

正如我们所看到的,我们从 $_GET 中获取了名称函数,然后我们检查了此 class 中是否存在的函数。但是当我们想要打印函数名称时我们遇到了问题,因为我们不知道如何正确地从 $function.

打印 $this->function()

有人知道怎么做吗?

首先,您需要使用 method_exists,而不是 property_exists。然后,您可以使用 call_user_func 调用方法:

$function = $_GET["function"];
if(method_exists($this, $function )){
    echo call_user_func(array($this, $function));
}