0

在 PHP 中是否可以调用所有具有特定前缀的函数?

例如,我有 70 个功能最开始

功能 1 ....功能2 ....

我想调用所有以开头的函数_func1 有没有任何 PHP 函数呢?类似于 call_user_func 但不是回调名称来传递它'_func1*'

我知道我可以用'get_defined_functions'来做到这一点,但想知道是否已经有这样的功能。

4

2 回答 2

2
$names=get_defined_functions();
foreach($names["user"] as $f)
{
  if(substr($f,0,6)=="_func1")
   {
       // now call $f
      //  call_user_func($f);
   }

}
于 2013-10-18T05:55:47.443 回答
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";
}

您可以在循环中使用子字符串方法以使其根据需要工作

于 2013-10-18T06:36:14.187 回答