Heim  >  Artikel  >  Backend-Entwicklung  >  call_user_func_array-Aufrufinstanz

call_user_func_array-Aufrufinstanz

巴扎黑
巴扎黑Original
2016-11-23 14:09:011316Durchsuche

Wenn Sie eine bestimmte Klassendatei importieren und die Klassendatei aufrufen möchten, gibt die Funktion call_user_func_array zwei Beispiele für verschiedene Parameter aus:

<?php    
$func = function($arg1, $arg2) {    
return $arg1 * $arg2;    
};    
var_dump(call_user_func_array($func, array(2, 4))); /* As of PHP 5.0 */    
?>

wird ausgegeben:

int(8) [1]‍

<?    
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    
?>


Erster Parameter: Klassenname, Funktion. Die zweite Funktion: Parameter übergeben

Vielleicht fragen Sie sich: Unter welchen Umständen wird die Funktion call_user_func_array verwendet? Rufen Sie sie einfach direkt mit new auf.

Der Unterschied zwischen call_user_func_array und neuen Klassennamen besteht darin, dass das System automatisch ein Objekt erstellt, auf das die Klasse direkt zugreifen kann, wenn der erste Parameter von all_user_func_array array('class name','method name') ist Methode, aber Die Konstruktormethode __construct wird nicht ausgeführt, was dem Aufruf der statischen Methode Klassenname::Funktionsname (Parameter) entspricht. Wenn ein neuer Klassenname verwendet wird, wird der Konstruktor zuerst ausgeführt.


Stellungnahme:
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
Vorheriger Artikel:PHP-ObjektschnittstelleNächster Artikel:PHP-Objektschnittstelle