在 PHP 中是否可以调用所有具有特定前缀的函数?
例如,我有 70 个功能最开始
功能 1 ....功能2 ....
我想调用所有以开头的函数_func1
有没有任何 PHP 函数呢?类似于 call_user_func 但不是回调名称来传递它'_func1*'
我知道我可以用'get_defined_functions'来做到这一点,但想知道是否已经有这样的功能。
$names=get_defined_functions();
foreach($names["user"] as $f)
{
if(substr($f,0,6)=="_func1")
{
// now call $f
// call_user_func($f);
}
}
如果您使用类中的方法,您还可以使用以下方法:
例如:
class myclass {
// constructor
function myclass()
{
return(true);
}
// method 1
function myfunc1()
{
return(true);
}
// method 2
function myfunc2()
{
return(true);
}
}
$class_methods = get_class_methods('myclass');
// or
$class_methods = get_class_methods(new myclass());
foreach ($class_methods as $method_name) {
echo "$method_name\n";
}
您可以在循环中使用子字符串方法以使其根据需要工作