Ausführliche Erläuterung von drei Beispielen für den Aufruf benutzerdefinierter Funktionen in PHP

伊谢尔伦
Freigeben: 2023-03-11 13:14:01
Original
1227 Leute haben es durchsucht

Es gibt eine benutzerdefinierte Funktion in PHP. Die Funktionen call_user_func, call_user_func_array und call_user_func werden häufig verwendet.

1. Die Funktion call_user_func ähnelt einer speziellen Methode zum Aufrufen einer Funktion:

<?php
//call_user_func函数

function a($b,$c)   
{   
echo $b;   
echo $c;   
}   
call_user_func(&#39;a&#39;, "111","222");   
call_user_func(&#39;a&#39;, "333","444");   
//显示 111 222 333 444   
?>
Nach dem Login kopieren

Es ist seltsam, die Methode innerhalb der Klasse aufzurufen. Array wird verwendet und new weggelassen. Die Operation spart bis zu einem gewissen Grad Ressourcen:

<?php
class a {   
function b($c)   
{   
echo $c;   
}   
}   
call_user_func(array("a", "b"),"111");   
//显示 111   
?>
Nach dem Login kopieren

2. Die Funktion call_user_func_array ist der Funktion call_user_func sehr ähnlich, außer dass die Parameter auf andere Weise übergeben werden Parameterstruktur klarer.
Zum Beispiel:

<?php
//call_user_func_array 调用自定义函数

function a($b, $c)   
{   
echo $b;   
echo $c;   
}   
call_user_func_array(&#39;a&#39;, array("111", "222"));   
//显示 111 222   
?>
Nach dem Login kopieren

Die Funktion call_user_func_array kann auch Methoden innerhalb der Klasse aufrufen.
Zum Beispiel:

<?php
Class ClassA   
{
function bc($b, $c) {   
     $bc = $b + $c;   
echo $bc;   
}   
}   
call_user_func_array(array(&#39;ClassA&#39;,&#39;bc&#39;), array("111", "222"));   
//显示 333   
?>
Nach dem Login kopieren

3. Sowohl die Funktion call_user_func als auch die Funktion call_user_func_array unterstützen Referenzen, wodurch sie funktional konsistenter mit gewöhnlichen Funktionsaufrufen sind:

<?php
//call_user_func函数 调用自定义函数

function a($b)   
{   
$b++;   
}   
$c = 0;   
call_user_func(&#39;a&#39;, $c);   
echo $c;//显示 1   
call_user_func_array(&#39;a&#39;, array($c));   
echo $c;//显示 2  
?>
Nach dem Login kopieren

Darüber hinaus unterstützen sowohl die Funktion call_user_func als auch die Funktion call_user_func_array Referenzen.

<?php
function increment(&$var)
{
    $var++;
}
$a = 0;
call_user_func(&#39;increment&#39;, $a);
echo $a; // 0
call_user_func_array(&#39;increment&#39;, array(&$a)); // You can use this instead
echo $a; // 1
?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von drei Beispielen für den Aufruf benutzerdefinierter Funktionen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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