Heim > Backend-Entwicklung > PHP-Tutorial > PHP call_user_func_array

PHP call_user_func_array

王林
Freigeben: 2024-08-29 12:46:02
Original
609 Leute haben es durchsucht

In PHP ist call_user_func eine der integrierten Funktionen, die Aufrufe zum Aufrufen bereitstellt. Der in PHP erstellte Aufruf call_user_func_array ist als Rückruf zum Übergeben der Parameter definiert, die insgesamt in ein Array eingeschlossen sind, und eine solche Rückruffunktion ist bekannt als call_user_func_array. Im Allgemeinen ist call_user_func-array als call_user_func definiert, eine Rückruffunktion, bei der der durch den ersten Parameter angegebene Rückruf aufgerufen wird, wobei diese Parameter wie im Array eingeschlossen sind. Dies wird als Funktion call_user_func_array bezeichnet, die von PHP-Bibliotheken bereitgestellt wird. Daher ruft diese Funktion einen Benutzer auf Funktion mit dem angegebenen Array von Parametern.

WERBUNG Beliebter Kurs in dieser Kategorie PHP-ENTWICKLER - Spezialisierung | 8-Kurs-Reihe | 3 Probetests

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Syntax:

mixed call_user_func_array( callable $callback, array $args);
Nach dem Login kopieren

In der obigen Syntax ist der aufrufbare Parameter eine „aufrufbare“ Rückruffunktion, die aufgerufen werden muss, und der zweite Parameter „args“ ist ein Array von Parametern, an die dieser „args“-Parameter übergeben werden soll Callback-Funktion als indiziertes Array. Daher kann die aufrufbare Funktion eine benutzerdefinierte Funktion aufrufen, die als aufrufbare Funktion bekannt ist, und der andere Parameter besteht aus einem Parameter-Array, wobei beide Argumente dieses call_user_func-Arrays zwingend angegeben werden müssen, wenn diese Funktion in PHP-Programmen verwendet wird. Daher ruft diese integrierte Funktion den Rückruf auf, der im ersten Argument angegeben oder deklariert ist, und die übrigen Parameter werden als Parameterarray im zweiten Argument dieser Funktion übergeben, das normalerweise zum Aufrufen der benutzerdefinierten Funktionen verwendet wird.
Die obige Syntaxfunktion gibt den Rückgabewert des Rückrufs zurück, wenn die Bedingung erfüllt ist. Andernfalls wird false zurückgegeben, wenn ein Fehler auftritt.

Wie funktioniert die Funktion call_user_func_array()?

In PHP gibt es eine eingebaute Funktion call_func_user(), die normalerweise zum Aufrufen der Rückruffunktion verwendet wird, die als erster Parameter an diese Funktion übergeben wird, wobei der aufrufbare Parameter normalerweise als aufzurufend deklariert wird. Dieselbe Funktion wird zum Übergeben verbleibender Parameter als Argumente als Array verwendet. In PHP gibt es eine andere Funktion wie call_user_func_array(). Diese Funktion funktioniert wie folgt: Sie prüft zunächst, ob die Parameter vorhanden sind, wobei der erste Parameter immer die Callback-Funktion ist aufrufbar ist und dann an diese Funktion aufgerufen wird, übergeben wir die restlichen Parameter als Array des Parameters als zweites Argument an den aufgerufenen Rückruf. Im Detail können wir sagen, dass der erste Parameter-Callback die Funktion aufruft, die im Programm definiert ist, bevor diese Funktion call_user_func_array angegeben wird. Anschließend wird diese Funktion innerhalb der Call-Funktion unter Verwendung ihres Namens deklariert und wir übergeben den Parameter der Funktion als zweites Argument an das call_user_func_array als verbleibende Parameter, die ein Array von Parametern sein werden. Lassen Sie uns die Funktionsweise dieser Funktion anhand von Beispielen im folgenden Abschnitt veranschaulichen.

Beispiel #1

Code:

<?php
echo "Demonstration of call_user_func_array in PHP ";
echo " \n";
function func1($a, $b) {
echo __FUNCTION__, " got $a and $b\n";
}
class class_func {
function bar($a, $b) {
echo __METHOD__, " got $a and $b\n";
}
}
call_user_func_array("func1", array("one", "two"));
$class_func = new class_func;
call_user_func_array(array($class_func, "bar"), array("three", "four"));
?>
Nach dem Login kopieren

Ausgabe:

PHP call_user_func_array

In the above example, we can see that to write any PHP program we first start with “ ”. Then to print any message to the console then we use the “echo” command. Firstly we declare a function with the name “func1” and this function has two different parameters passed to this function func1 and this function has only an echo command which will print the values passed as a parameter to this function when called. This function func1() is called using a callback parameter in the call_user_func_array as seen in line 16 and then we pass values to the parameters declared for the function func1() as “one” and “two” which will be taken as an array of parameters to the call-user_func_array where this is one of the helpful facts of this function where we can call the function along with the values of its parameters passed using any number of parameters to the given or defined function in the program. Then we are using the class method also where we are defining a class with the name “class_func” and then using the class object created using the “new” command, later we use the call_user_func_array function to print the values of the function “bar” which is defined within the class, therefore, we first pass the class name as the first parameter to the array function and then “bar” function as the second parameter to the array function then later we will be passing remaining parameters of the bar as the second argument to the array function. The output of the above program can be seen in the screenshot above.

Example #2

In this example, we will see calling the call_user_func_array using the namespace name in the below program. In the above program, we saw using the class method for the demonstration of call_user_func_array.

Code:

<?php
namespace func1;
echo "Demonstration of call_user_func_array in PHP using namespace ";
echo " \n ";
class class_func {
static public function test($n) {
print "Hello {$n}!\n";
}
}
call_user_func_array(__NAMESPACE__ .'\class_func::test', array('Educba'));
call_user_func_array(array(__NAMESPACE__ .'\class_func', 'test'), array('People'));
?>
Nach dem Login kopieren

Output:

PHP call_user_func_array

In the above program which is similar to the previous example but in this program we are using namespace as function name and then we are declaring the class where when using call_user_func_array we use “_NAmESPACE_” instead of “_FUNCTION_” in it and then pass the other parameters as an array to this function which will print the values or logic of the class “test” function where it prints the values passed as the “n” value along with the message given and in this program, we are printing two messages by passing these “values”. The output of this program is as shown in the above screenshot.

Conclusion

In this article, we conclude that in PHP call_user_func_array function as a callback function which is user-defined as we are declaring the callable callback function as the first argument and the remaining parameter of that function as the second argument. We should note that we are passing parameters with its values but we are not passing the reference. Therefore, this function can be used whenever there are any array of parameters for the function we can easily use and execute the given function using this call_user_func_array function in PHP.

Das obige ist der detaillierte Inhalt vonPHP call_user_func_array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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