我需要一个所有已定义函数的列表,它在函数名中有一个特定的字符串
示例:
我希望我的文件中的所有函数都有函数名中的"special_pdf"
字符串,如 -
special_pdf_a4()
special_pdf_a5()
special_pdf_16()
special_pdf_97()
special_pdf_same_same_example()
目前正在使用此代码 -
$commandList = get_defined_functions();
$funcList = array();
$containText = 'special_pdf';
if(isset($commandList['user'])){
$user_defined_functions = $commandList['user'];
foreach($user_defined_functions as $user_defined_function){
if(substr($user_defined_function, 0, strlen($containText)) === $containText){
$funcList[] = $user_defined_function;
}
}
}
print_r($funcList);
找出没有性能缺陷的正确方法吗?
答案 0 :(得分:0)
快速可能就是这个解决方案
$funcs = get_defined_functions();
if(isset($funcs['user']) {
funcList = preg_grep('/special_pdf.*/',$funcs['user']);
print_r($funcList);
}
根据您的需要,您可能需要玩一点正则表达式。