PHP.mk документација

get_defined_functions

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.get-defined-functions.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.get-defined-functions.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
get_defined_functions

Референца за `function.get-defined-functions.php` со подобрена типографија и навигација.

function.get-defined-functions.php

get_defined_functions

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

get_defined_functionsВраќа низа од сите дефинирани функции

= NULL

get_defined_functions(bool $exclude_disabled = true): array

Добива низа од сите дефинирани функции.

Параметри

exclude_disabled

Дали оневозможените функции треба да бидат исклучени од вратената вредност. Овој параметар нема ефект од PHP 8.0.0.

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Претходната порака за грешка DEPRECATED HTTP одговорни за одговор

Вратени вредности

Враќа повеќедимензионална низа што содржи список на сите дефинирани функции, вградени (внатрешни) и кориснички дефинирани. Внатрешните функции ќе бидат достапни преку $arr["internal"], а кориснички дефинираните користејќи $arr["user"] (види пример подолу).

Дневник на промени

Верзија = NULL
8.5.0 На exclude_disabled параметарот е укинат, бидејќи веќе нема никакво влијание.
8.0.0 Стандардната вредност на exclude_disabled параметарот е променет од false to true. Сепак, тоа нема да има ефект бидејќи оневозможените функции се отстрануваат од табелата со функции при компилација.
7.0.15, 7.1.1 На exclude_disabled параметарот е додаден.

Примери

Пример #1 get_defined_functions() example

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

)

Види Исто така

  • function_exists() - Вчитува PHP екстензија во време на извршување
  • get_defined_vars() - Враќа низа од сите дефинирани функции
  • get_defined_constants() - Враќа асоцијативна низа со имињата на сите константи и нивните вредности
  • get_declared_classes() - Враќа низа со името на дефинираните класи

Белешки од корисници 5 белешки

kkuczok at gmail dot com
12 години пред
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] )

)
mIHATESPAMduskis at bates dot edu
пред 23 години
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 години
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>
berchentreff at berchentreff dot de
19 години пред
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>
Муниб Аслам
пред 10 години
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 />";
        }
    }
    
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.