Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Lernzusammenfassungsfunktion

PHP-Lernzusammenfassungsfunktion

藏色散人
藏色散人nach vorne
2019-12-30 13:45:522830Durchsuche

Funktionsdefinition

Gültige Funktionsnamen beginnen mit Buchstaben oder Unterstrichen, gefolgt von Buchstaben, Zahlen oder Unterstrichen;

Funktionsnamen können größenunabhängig sein (eigentlich , Bei PHP-Funktionsnamen, Methodennamen und Klassennamen wird die Groß-/Kleinschreibung nicht beachtet. Die Funktion muss vor dem Aufruf nicht definiert werden, es sei denn, eine Funktion wird bedingt definiert.

PHP unterstützt nicht Es kommt zu einer Funktionsüberladung, und es ist nicht möglich, deklarierte Funktionen aufzuheben oder neu zu definieren.

<?php
Test(); # function test.
function test()
{
    echo &#39;function test.&#39;;
}

Parameter der Funktion

1. Wertübergabe

Ändert den Wert des Parameters innerhalb der Funktion hat keinen Einfluss auf den Wert des Parameters außerhalb der Funktion:

<?php
$i = 1;
add($i);
echo $i; # 1
function add($test)
{
    $test++;
}

2. Durch die Übergabe als Referenz

bleibt der Wert des Parameters innerhalb und außerhalb der Funktion konsistent. Um als Referenz zu übergeben, können Sie das Symbol & vor dem Parameter in der Funktionsdefinition hinzufügen:

<?php
$i = 1;
add($i);
echo $i; # 2
function add(&$test)
{
    $test++;
}

3. Variable Anzahl von Parametern

PHP unterstützt eine Variable Anzahl der Parameter. Die beim Definieren einer Funktion aufgeführten Parameter sind eigentlich nur die Mindestparameter; beim Aufruf sind mehrere Parameter zulässig, die zusätzlichen Parameter werden jedoch ignoriert:

function add($a, $b) 
{
    return $a + $b;
}
echo add(1,2,5); # 3

In PHP 5.5 und früheren Versionen, wenn Sie eine verarbeiten müssen Wenn die Anzahl der Parameter unsicher ist, können Sie die folgenden Funktionen verwenden:

func_num_args() – Gibt die Anzahl der an die Funktion übergebenen Parameter zurück

func_get_arg() – Gibt die angegebenen Parameter zurück

func_get_args() – Gibt die Argumentliste als Array zurück

<?php
function func() 
{
    $argc = func_num_args();
    $argv = func_get_args();
    switch ($argc) {
       case 0:
           echo "没有参数。<br />";
           break;
       case 1:
           echo "只有1个参数。它是:" . func_get_arg(0) . "。<br />";
           break;
       case 2:
           echo "有2个参数。它们是:" . func_get_arg(0) . "," . func_get_arg(1) . "。<br />";
           break;
       default:
           echo "超过2个参数。它们是:";
           print_r($argv);
           break;
    }
}
func();          # 没有参数。
func(1);         # 只有1个参数。它是:1。
func(1,2);       # 有2个参数。它们是:1,2。
func(1,2,3,4,5); # 超过2个参数。它们是:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )

In PHP 5.6 und höher wird eine variable Anzahl von Argumentlisten implementiert durch... Syntax:

function sum(...$numbers) 
{
    $acc = 0;
    foreach ($numbers as $n) {
        $acc += $n;
    }
    return $acc;
}
echo sum(1, 2, 3, 4); # 10

Variable Funktionen

PHP unterstützt das Konzept variadischer Funktionen – wenn nach einem Variablennamen Klammern stehen, sucht PHP nach einer Funktion mit demselben Namen wie der Variablenwert und versucht, sie auszuführen:

<?php
function foo() 
{
    echo "In foo()";
}
$func = &#39;foo&#39;;
$func(); # In foo()

Hinweis: Variablenfunktionen unterstützen keine Sprachstrukturen in PHP, wie Echo, Print usw.

Anonyme Funktionen

In PHP ermöglichen anonyme Funktionen, auch Abschlussfunktionen genannt, die temporäre Erstellung einer Funktion ohne angegebenen Namen. In Rückruffunktionen häufig verwendete Parameter:

<?php
print_r(array_map(function($value) {
    return $value * 2;
}, range(1, 5)));
# Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )

Abschlussfunktionen können auch als Wert von Variablen verwendet werden:

$greet = function($name) {
    printf("Hello %s\r\n", $name);
};
$greet(&#39;World&#39;); # Hello World

Abschlüsse können Variablen vom übergeordneten Bereich erben. Solche Variablen sollten mit dem Sprachkonstrukt „use“ übergeben werden:

<?php
$message = &#39;hello&#39;;
$example = function () use ($message) {
    echo $message;
};
$example(); # hello

Wenn Sie die Bindung der verwendeten Variablen verzögern müssen, müssen Sie eine Referenz verwenden, andernfalls wird eine Kopie erstellt und verwendet, wenn sie verwendet wird ist definiert:

<?php
$result = 0;
 
$one = function() use ($result) { 
    var_dump($result); 
};
 
$two = function() use (&$result) { 
    var_dump($result); 
};
 
$result++;
 
$one();  # int(0)
$two();  # int(1)

Dynamischer Funktionsaufruf

In PHP können Sie Funktionen nicht nur direkt aufrufen, sondern auch indirekt über call_user_func() oder call_user_func_array() aufrufen. Funktion:

<?php
function named_func($param1, $param2)
{
    echo "这是一个命名函数。参数是:$param1 和 $param2 。<br />";
}
call_user_func("named_func", "PARAM1", "PARAM2");
call_user_func_array("named_func", array("PARAM1", "PARAM2"));

Das obige ist der detaillierte Inhalt vonPHP-Lernzusammenfassungsfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen