So rufen Sie eine benutzerdefinierte Funktion in PHP mit der Funktion „call user func()' auf

墨辰丷
Freigeben: 2023-03-30 06:44:02
Original
1450 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich vor, wie man die Funktion func() in PHP aufruft, um selbst definierte Funktionen aufzurufen. Ich hoffe, dass er für alle hilfreich ist.

Die Funktion call_user_func ähnelt einer speziellen Methode zum Aufrufen einer Funktion. Die Verwendungsmethode ist wie folgt:

<?php
function nowamagic($a,$b) 
{ 
 echo $a; 
 echo $b; 
} 
call_user_func(&#39;nowamagic&#39;, "",""); 
call_user_func(&#39;nowamagic&#39;, "",""); 
//显示  
?>
Nach dem Login kopieren

Es ist seltsam, die Methode innerhalb der Klasse aufzurufen. Sie verwendet tatsächlich eine array. Ich weiß nicht, wie der Entwickler das gemacht hat. New wird natürlich weggelassen, was ziemlich innovativ ist:

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

Die Funktion call_user_func_array ist call_user_func sehr ähnlich, außer dass die Parameter anders übergeben werden So können Sie die Parameterstruktur klarer gestalten:

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

Die Funktion call_user_func_array kann auch Methoden innerhalb der Klasse aufrufen:

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

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

<?php
function a($b) 
{ 
 $b++; 
} 
$c = ; 
call_user_func(&#39;a&#39;, $c); 
echo $c;//显示 
call_user_func_array(&#39;a&#39;, array($c)); 
echo $c;//显示 
?>
另外,call_user_func函数和call_user_func_array函数都支持引用。
view sourceprint?
<?php
function increment(&$var)
{
 $var++;
}
$a = ;
call_user_func(&#39;increment&#39;, $a);
echo $a; // 
call_user_func_array(&#39;increment&#39;, array(&$a)); // You can use this instead
echo $a; // 
?>
Nach dem Login kopieren

Das Folgende ist eine Einführung in die Verwendung von call_user_func zum Aufrufen einer benutzerdefinierten Funktion

Mit der Funktion call_user_func können Sie dies tun Rufen Sie eine benutzerdefinierte Funktion auf, indem Sie eine Zeichenfolgenfunktion übergeben, und sie unterstützt Quote.

1.mixed call_user_func ( callable $callback [, Mixed $parameter [, Mixed $... ]] )

Rufen Sie die vom ersten Parameter bereitgestellte Anpassungsfunktion auf , die folgenden Parameter sind die Parameter der benutzerdefinierten Funktion und das Ergebnis der benutzerdefinierten Funktion wird zurückgegeben

function say($word)
{
 echo $word;
}
call_user_func(&#39;say&#39;, &#39;hello world&#39;); //hello world
当然也可以调用类中的方法:
class A {
 function say($word = &#39;&#39;)
 {
  echo $word;
 }
} 
$a = new A(); //注意,必须是要实例化的,除非是static
call_user_func(array($a, &#39;say&#39;), &#39;hello world&#39;); //hello world
Nach dem Login kopieren

2.mixed call_user_func_array ( callable $callback , array $param_arr )

Es wird gesagt, dass die Funktionen von call_user_func_array und call_user_func gleich sind, es gibt jedoch einige Unterschiede beim Aufrufen von Parametern:

function a($word)
{
 echo $word;
}
class A {
 function say($word = &#39;&#39;)
 {
  echo $word;
 }
}
call_user_func_array(&#39;a&#39;, array(&#39;hello world&#39;)); //hello world
$a = new A(); //注意,必须是要实例化的,除非是static
call_user_func_array(array($a, &#39;say&#39;), array(&#39;hello world&#39;)); //hello world
Nach dem Login kopieren

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass dies der Fall sein wird hilfreich für das Lernen aller.

Verwandte Empfehlungen:

Verwendung und Beispiele der PHP-Nachrichtenwarteschlange

Verwendung und Beispiele der PHP-Semaphore

PHP-Bildskalierungs- und Schneidefunktionen

Das obige ist der detaillierte Inhalt vonSo rufen Sie eine benutzerdefinierte Funktion in PHP mit der Funktion „call user func()' auf. 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