如何打印所有已定义函数的数组?

时间:2013-03-30 06:26:28

标签: php

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

<?php 

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


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

3 个答案:

答案 0 :(得分: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
        )

)

答案 1 :(得分:3)

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

$arr = get_defined_functions();

print_r($arr);

文档here

答案 2 :(得分:2)

<?php
$functions = get_defined_functions();

$user_defined_functions = $functions["user"];
var_dump($user_defined_functions);
?>