PHP:从名为"bla_"的对象获取所有方法名称

gus*_*ans 26 php oop class object

我有一个对象,并希望有一个方法返回此Object以"bla_"开头的方法.

我发现get_class_methods()会返回所有方法名称,但我只想要以"bla_"开头的名字

sou*_*rge 45

您可以使用preg_grep()它们来过滤它们:

$method_names = preg_grep('/^bla_/', get_class_methods($object));
Run Code Online (Sandbox Code Playgroud)


Emi*_*l H 6

尝试:

$methods = array();
foreach (get_class_methods($myObj) as $method) {
    if (strpos($method, "bla_") === 0) {
        $methods[] = $method;
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,这===是必要的.==不起作用,因为如果找不到匹配则strpos()返回false.由于PHP动态类型,这等于0,因此需要严格(类型安全)相等检查.