从 PHP 对象中获取以子字符串开头的所有方法名称

2022-08-30 15:37:36

我有一个对象,并且想要一个方法,该方法返回此对象具有以 .bla_

我发现它返回所有方法名称,但我只想要以get_class_methods()bla_


答案 1

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

$method_names = preg_grep('/^bla_/', get_class_methods($object));

答案 2

尝试:

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

请注意,这在这里是必要的。 将不起作用,因为如果未找到匹配项,则会返回。由于PHPs动态类型,这等于,因此需要严格的(类型安全)相等性检查。=====strpos()false0


推荐