0

PHP で、特定のプレフィックスを持つすべての関数を呼び出すことは可能ですか?

たとえば、私は70個の関数を持っています

関数 1 ....関数 2 ....

_func1 is there any PHP function for that ?で始まるすべての関数を呼び出したいです。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 に答える