Heim > Artikel > Backend-Entwicklung > PHP-Lernfunktion
Der Inhalt dieses Artikels befasst sich mit dem Wissen über Funktionen beim PHP-Lernen. Jetzt kann ich ihn mit allen teilen, die ihn benötigen.
Ein gültiger Funktionsname beginnt mit einem Buchstaben oder Unterstrich, gefolgt von Buchstaben, Zahlen oder Unterstrichen.
Funktionsnamen können größenunabhängig sein (tatsächlich sind es Funktionsnamen und Methodennamen von PHP). , bei Klassennamen wird die Groß-/Kleinschreibung nicht beachtet); >PHP unterstützt keine 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;; }2. Durch die Übergabe als Referenz bleibt der Wert des Parameters innerhalb und außerhalb der Funktion konsistent. Zur Referenzübergabe können Sie das Symbol
<?php $i = 1; add($i); echo $i; # 1 function add($test) { $test++; }
&
In PHP 5.5 und früheren Versionen, wenn Sie damit umgehen müssen Bei einer unbestimmten Anzahl von Parametern können Sie die folgenden Funktionen verwenden:
<?php $i = 1; add($i); echo $i; # 2 function add(&$test) { $test++; }– Gibt die Anzahl der an die Funktion übergebenen Parameter zurück. – Gibt die angegebenen Parameter zurück. – Gibt den Parameter zurück Liste in Form eines Arrays
function add($a, $b) { return $a + $b; } echo add(1,2,5); # 3
In PHP 5.6 und höher implementiert die func_num_args()
-Syntax eine variable Anzahl von Parameterlisten: func_get_arg()
Variable Funktion func_get_args()
<?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 )
...
Hinweis: Variablenfunktionen unterstützen keine Sprachstrukturen in PHP, wie z. B.
function sum(...$numbers) { $acc = 0; foreach ($numbers as $n) { $acc += $n; } return $acc; } echo sum(1, 2, 3, 4); # 10usw. Anonyme Funktion In PHP ermöglicht eine anonyme Funktion, auch Abschlussfunktion genannt, die temporäre Erstellung einer Funktion ohne angegebenen Namen. In Rückruffunktionen häufig verwendete Parameter:
<?php function foo() { echo "In foo()"; } $func = &#39;foo&#39;; $func(); # In foo()
echo
Abschlussfunktionen können auch als Wert von Variablen verwendet werden:
<?php print_r(array_map(function($value) { return $value * 2; }, range(1, 5))); # Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )Wenn Sie die Bindung der Variablen in
verzögern müssen, müssen Sie eine Referenz verwenden, andernfalls wird eine Kopie erstellt beim Definieren Kopieren Sie es in
:$greet = function($name) { printf("Hello %s\r\n", $name); }; $greet(&#39;World&#39;); # Hello World
use
Dynamischer Funktionsaufruf
<?php $message = &#39;hello&#39;; $example = function () use ($message) { echo $message; }; $example(); # helloIn PHP können Sie Funktionen nicht nur direkt aufrufen, sondern auch indirekt über
oder Funktion: use
use
<?php $result = 0; $one = function() use ($result) { var_dump($result); }; $two = function() use (&$result) { var_dump($result); }; $result++; $one(); # int(0) $two(); # int(1)Array für PHP-Lernen
call_user_func()
call_user_func_array()
<?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-Lernfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!