Movatterモバイル変換


[0]ホーム

URL:


PHP 8.5.0 Alpha 2 available for testing
    register_shutdown_function »
    « function_exists

    get_defined_functions

    (PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

    get_defined_functionsReturns an array of all defined functions

    Description

    get_defined_functions(bool$exclude_disabled =true):array

    Gets an array of all defined functions.

    Parameters

    exclude_disabled

    Whether disabled functions should be excluded from the return value.

    Return Values

    Returns a multidimensional array containing a list of all defined functions, both built-in (internal) and user-defined. The internal functions will be accessible via$arr["internal"], and the user defined ones using$arr["user"] (see example below).

    Changelog

    VersionDescription
    8.0.0 The default value of theexclude_disabled parameter has been changed fromfalse totrue.
    7.0.15, 7.1.1 Theexclude_disabled parameter has been added.

    Examples

    Example #1get_defined_functions() example

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

    $arr=get_defined_functions();

    print_r($arr);
    ?>

    The above example will outputsomething similar to:

    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        ))

    See Also

    Found A Problem?

    Learn How To Improve This PageSubmit a Pull RequestReport a Bug
    add a note

    User Contributed Notes5 notes

    kkuczok at gmail dot com
    12 years ago
    You can list all arguments using ReflectionFunction class. It's not necessary to parse selected files/files as suggested by Nguyet.Duc.

    http://php.net/manual/pl/class.reflectionfunction.php

    Example:
    <?php
    functionfoo(&$bar,$big,$small=1) {}
    function
    bar($foo) {}
    function
    noparams() {}
    function
    byrefandopt(&$the='one') {}

    $functions=get_defined_functions();
    $functions_list= array();
    foreach (
    $functions['user'] as$func) {
    $f= newReflectionFunction($func);
    $args= array();
    foreach (
    $f->getParameters() as$param) {
    $tmparg='';
    if (
    $param->isPassedByReference())$tmparg='&';
    if (
    $param->isOptional()) {
    $tmparg='['.$tmparg.'$'.$param->getName() .' = '.$param->getDefaultValue() .']';
    } else {
    $tmparg.='&'.$param->getName();
    }
    $args[] =$tmparg;
    unset (
    $tmparg);
    }
    $functions_list[] ='function '.$func.' ( '.implode(', ',$args) .' )'.PHP_EOL;
    }
    print_r($functions_list);
    ?>

    Output:
    Array
    (
    [0] => function foo ( &&bar, &big, [$small = 1] )

    [1] => function bar ( &foo )

    [2] => function noparams ( )

    [3] => function byrefandopt ( [&$the = one] )

    )
    mIHATESPAMduskis at bates dot edu
    22 years ago
    At least with PHP 4.2.3 on a GNU/Linux/Apache platform, get_defined_functions() returns user-defined functions as all-lower case strings regardless of how the functions are capitalized when they are defined.

    Threw me for a loop.
    peten at spam dot me dot not dot frontiernet dot net
    23 years ago
    Here's a useful trick with the get_defined_functions function - show all available functions with a link to the documentation (you can even change the mirror it goes to):

    <?php
    // the php mirror
    $php_host="http://us2.php.net/";

    // the number of cols in our table
    $num_cols=3;

    $ar=get_defined_functions();
    $int_funct=$ar[internal];
    sort($int_funct);
    $count=count($int_funct);
    ?>
    <html>
    <head>
    <title>
    Available PHP Functions
    </title>
    </head>
    <body>
    <p>
    <?phpprint$count;?> functions
    available on
    <?php
    print$_SERVER[SERVER_NAME];
    ?>
    (<a href="<?phpprint$php_host;?>"
    >php</a>
    version
    <?phpprintphpversion();?>)
    </p>
    <table align="center" border="2">
    <tr>
    <?php
    for($i=0;$i<$count;$i++) {
    $doc=$php_host
    ."manual/en/function."
    .strtr($int_funct[$i],"_","-")
    .
    ".php";
    print
    " <td><a href=\"".$doc
    ."\" target=\"phpwin\">"
    .$int_funct[$i]
    .
    "</a></td>\n";
    if((
    $i>1)
    && ((
    $i+$num_cols)%$num_cols==($num_cols-1)))
    print
    " </tr>\n <tr>\n";
    }
    for(
    $i=($num_cols-($count%$num_cols));$i>0;$i--)
    print
    " <td>&nbsp;</td>\n";
    ?>
    </table>
    </body>
    </html>
    berchentreff at berchentreff dot de
    19 years ago
    look at here, list all the defined function on your php-Version and give as well formatted output width links onto the php-manual:

    <html><head>
    <style type="text/css"><!--
    li{font-family:Verdana,Arail,sans-serif;width:500px;margin-top:7px;}
    a{padding:4px;}
    a.a1{font-size:12px;background-color:#CCCCCC;color:#663300;}
    a.a1:hover{background-color:#663300;color:#CCCCCC;}
    a.a1:visited{background-color:#fff;color:#999;}
    a.a1:visited:hover{background-color:#fff;color:#999;}
    a.a0{font-size:12px;background-color:#CCCCFF;color:#663399;}
    a.a0:hover{background-color:#663399;color:#CCCCFF;}
    a.a0:visited{background-color:#ffC;color:#999;}
    a.a0:visited:hover{background-color:#ffC;color:#999;}
    --></style>
    </head><body>
    <?php
    $arr
    =get_defined_functions();

    foreach(
    $arras$zeile){
    sort($zeile);$s=0;
    foreach(
    $zeileas$bzeile){
    $s=($s)?0:1;
    echo
    "<li><a class='a".$s."' href='http://de.php.net/".$bzeile."'>".$bzeile."</a></li>";}
    }
    ?>
    </body>
    </html>
    Muneeb Aslam
    9 years ago
    This is rather a simple non-confusing script to get the function names linked to its manual page on php.net. Hope it helps someone. Commented script is self explainatory

    <?php

    /*declare a variable to php manual of functions.
    change the $lng to the region you want it for,
    i-e en/es/de etc etc */
    $lng="es";
    $url="http://www.php.net/manual/".$lng."/function.";

    // get defined functions in a variable (it will be a 2D array)
    $functions=get_defined_functions();

    // Run nested foreach to get the function names
    foreach($functionsas$function){
    foreach (
    $functionas$functionName){

    /* Since php manual is using hyphens instead of underscores
    for functions, we will convert underscores to hyphen whereever
    there is one. */
    if(strpos($functionName,"_") !==false){
    $functionForURL=str_replace("_","-",$functionName);
    } else {
    $functionForURL=$functionName;
    }

    /* echo the link */
    echo"<a href='".$url.$functionForURL.".php'>".$functionName."</a><br />";
    }
    }

    ?>
    add a note
    To Top
    and to navigate •Enter to select •Esc to close
    PressEnter without selection to search using Google

    [8]ページ先頭

    ©2009-2025 Movatter.jp