PHP可以调用所有具有特定前缀的函数吗?
例如,我有70个功能 最开始于func1 .... func2 ....
我想调用所有以_func1
开头的函数
那有什么PHP功能吗?类似于call_user_func,而不是回调名称,以传递类似'_func1*'
我知道我可以用'get_defined_functions'来做,但想知道是否已有这样的功能。
答案 0 :(得分:2)
$names=get_defined_functions();
foreach($names["user"] as $f)
{
if(substr($f,0,6)=="_func1")
{
// now call $f
// call_user_func($f);
}
}
答案 1 :(得分:0)
如果您使用的是类中的方法,还可以使用以下命令:
代表:
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";
}
你可以在循环中使用子字符串方法让它按照你的需要工作