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('nowamagic', "",""); call_user_func('nowamagic', "",""); //显示 ?>
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"),""); //显示 ?>
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('a', array("", "")); //显示 ?>
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('ClassA','bc'), array("", "")); //显示 ?>
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('a', $c); echo $c;//显示 call_user_func_array('a', array($c)); echo $c;//显示 ?> 另外,call_user_func函数和call_user_func_array函数都支持引用。 view sourceprint? <?php function increment(&$var) { $var++; } $a = ; call_user_func('increment', $a); echo $a; // call_user_func_array('increment', array(&$a)); // You can use this instead echo $a; // ?>
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('say', 'hello world'); //hello world 当然也可以调用类中的方法: class A { function say($word = '') { echo $word; } } $a = new A(); //注意,必须是要实例化的,除非是static call_user_func(array($a, 'say'), 'hello world'); //hello world
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 = '') { echo $word; } } call_user_func_array('a', array('hello world')); //hello world $a = new A(); //注意,必须是要实例化的,除非是static call_user_func_array(array($a, 'say'), array('hello world')); //hello world
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!