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