Heim > Artikel > Backend-Entwicklung > call_user_func_array-Aufrufinstanz
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('ClassA','bc'), 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.