PHP 8.5.0 RC 5 available for testing

get_defined_functions

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

get_defined_functionsTanımlanmış bütün işlevleri içeren bir dizi döndürür

Açıklama

get_defined_functions(bool $iptal_edilen_hariç = true): array

Tanımlanmış bütün işlevleri bir dizi olarak döndürür.

Bağımsız Değişkenler

iptal_edilen_hariç

true atanırsa iptal edilen işlevler dönen dizide bulunmaz.

Dönen Değerler

Hem kullanıcı tanımlı hem de yerleşik (dahili) bütün tanımlanmış işlevlerin listesini bir çok boyutlu dizi olarak döndürür. Dahili işlevlere $dizi["internal"] ile ulaşılabilirken kullanıcı tanımlı işlevlere $dizi["user"] ile ulaşılabilir (aşağıdaki örneğe bakınız).

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 iptal_edilen_hariç için öntanımlı değer artık true; evvelce false idi.
7.0.15, 7.1.1 iptal_edilen_hariç bağımsız değişkeni eklendi.

Örnekler

Örnek 1 - get_defined_functions() örneği

<?php
function satır($id, $veri)
{
return
"<tr><th>$id</th><td>$veri</td></tr>\n";
}

$dizi = get_defined_functions();

print_r($dizi);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

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] => satır
        )

)

Ayrıca Bakınız

add a note

User Contributed Notes 5 notes

up
15
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
function foo(&$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 = new ReflectionFunction($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] )

)
up
10
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.
up
6
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>
   <?php print $count; ?> functions     
    available on 
    <?php 
      print $_SERVER[SERVER_NAME]; 
     ?>
   (<a href="<?php print $php_host;?>" 
    target="phpwin">php</a>
    version 
    <?php print phpversion(); ?>)
  </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>
up
5
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 style="background-color:#999;">
<?php
$arr = get_defined_functions();

foreach($arr as $zeile){
sort($zeile);$s=0;
foreach($zeile as $bzeile){
$s=($s)?0:1;
echo "<li><a class='a".$s."'  href='http://de.php.net/".$bzeile."'>".$bzeile."</a></li>";}
}
?>
</body>
</html>
up
2
Muneeb Aslam
10 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($functions as $function){
        foreach ($function as $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 />";
        }
    }
    
?>
To Top