可以在运行时将要执行的函数分配给类变量吗?一种类似于 C 的“函数指针”
像这样:(这行不通,因为总和超出了 A 的范围,但这是我的意思)
class A {
public $function_name;
public functon run($arg1,$arg2){
$function_name($arg1,$arg2);
}
}
function sum($a,$b){
echo $a+$b;
}
$a=new A();
$a->function_name='sum';
$a->run();
[编辑] 我知道有“call_user_func”,但据我所知,它需要在范围内拥有该功能或使用公共(public)类方法
最佳答案
你可以使用 anonymous function如果您使用 PHP >5.3.0:
$sum = function($a, $b) {
return $a+$b;
}
$a->function_name = $sum;
关于php - 可以在运行时在 php 中将函数分配给类变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8538246/