PHP-Lernzusammenfassungsfunktion

藏色散人
Freigeben: 2023-04-08 06:56:01
nach vorne
2845 Leute haben es durchsucht

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;;
}
Nach dem Login kopieren

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++;
}
Nach dem Login kopieren

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++;
}
Nach dem Login kopieren

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
Nach dem Login kopieren

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 )
Nach dem Login kopieren

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
Nach dem Login kopieren

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()
Nach dem Login kopieren

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 )
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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)
Nach dem Login kopieren

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"));
Nach dem Login kopieren

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

Verwandte Etiketten:
php
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage