0

如何打印所有已定义函数的数组?
有时候一个很复杂的php包含很多其他的文件,而且有很多常用的功能,比如zencart页面,我想找到页面的所有功能,怎么办?

<?php 

function hello(){}
function world(){}


// how to print all user defined functions?
array(
    [0] => hello
    [1] => world
)
4

3 回答 3

3

您正在寻找 get_defined_functions() 函数。您可以在 php.net ( http://php.net/manual/en/function.get-defined-functions.php ) 上阅读更多相关信息。

来自 php.net 上的示例

<?php
function myrow($id, $data) {
    return "<tr><th>$id</th><td>$data</td></tr>\n";
}

$arr = get_defined_functions();

print_r($arr);
?>

输出

Array
(
    [internal] => Array
        (
            [0] => zend_version
            [1] => func_num_args
            [2] => func_get_arg
            [3] => func_get_args
            [4] => strlen
            [5] => strcmp
            [6] => strncmp
            ...
            [750] => bcscale
            [751] => bccomp
        )

    [user] => Array
        (
            [0] => myrow
        )

)
于 2013-03-30T06:28:08.330 回答
3

您可以按如下方式打印定义的函数:

$arr = get_defined_functions();

print_r($arr);

文档在这里

于 2013-03-30T06:28:13.203 回答
2
<?php
$functions = get_defined_functions();

$user_defined_functions = $functions["user"];
var_dump($user_defined_functions);
?>
于 2013-03-30T06:28:24.617 回答