Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP call_user_func_array

PHP call_user_func_array

王林
王林asal
2024-08-29 12:46:02490semak imbas

Dalam PHP, call_user_func adalah salah satu fungsi terbina dalam yang menyediakan panggilan untuk memanggil yang dibina dalam PHP ialah panggilan call_user_func_array yang ditakrifkan sebagai panggilan balik untuk menghantar parameter yang semuanya dibungkus dalam tatasusunan dan fungsi panggil balik tersebut ialah dikenali sebagai call_user_func_array. Secara umum, call_user_func-array ditakrifkan sebagai call_user_func yang merupakan fungsi panggil balik di mana ia memanggil panggilan balik yang diberikan oleh parameter pertama dengan parameter ini dibalut seperti dalam array dikenali sebagai fungsi call_user_func_array yang disediakan oleh perpustakaan PHP oleh itu fungsi ini memanggil pengguna berfungsi dengan tatasusunan parameter yang diberikan.

IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks:

mixed call_user_func_array( callable $callback, array $args);

Dalam sintaks di atas, parameter boleh panggil ialah fungsi panggil balik yang "boleh dipanggil" yang perlu dipanggil dan parameter kedua "args" ialah tatasusunan parameter di mana parameter "args" ini akan dihantar ke fungsi panggil balik sebagai tatasusunan diindeks. Oleh itu, boleh panggil boleh memanggil fungsi tersuai yang dikenali sebagai fungsi boleh panggil dan parameter lain terdiri daripada tatasusunan parameter di mana kedua-dua argumen bagi tatasusunan call_user_func ini wajib ditentukan apabila menggunakan fungsi ini dalam program PHP. Oleh itu, fungsi terbina ini memanggil panggilan balik yang ditentukan atau diisytiharkan dalam argumen pertama dan parameter yang selebihnya diluluskan sebagai tatasusunan parameter dalam argumen kedua fungsi ini yang biasanya digunakan untuk memanggil fungsi yang ditentukan pengguna.
Fungsi sintaks di atas akan mengembalikan nilai pulangan panggilan balik jika berpuas hati keadaannya adalah benar sebaliknya ia akan mengembalikan palsu jika ia menghasilkan sebarang ralat.

Bagaimanakah fungsi call_user_func_array() berfungsi?

Dalam Php, terdapat fungsi terbina call_func_user() yang biasanya digunakan untuk memanggil fungsi panggil balik yang akan dihantar sebagai parameter pertama kepada fungsi ini di mana parameter boleh panggil biasanya diisytiharkan dipanggil. Fungsi yang sama ini digunakan untuk menghantar parameter yang tinggal sebagai argumen kerana tatasusunan terdapat fungsi lain dalam PHP seperti call_user_func_array() dan fungsi ini berfungsi seperti berikut, ia akan terlebih dahulu menyemak parameter di mana parameter pertama akan sentiasa menjadi fungsi panggil balik iaitu boleh dipanggil dan dipanggil kemudian ke fungsi ini kita menghantar parameter yang tinggal sebagai tatasusunan parameter sebagai argumen kedua kepada panggilan balik yang dipanggil. Secara terperinci, kita boleh katakan panggil balik parameter pertama akan memanggil fungsi yang ditakrifkan dalam atur cara sebelum menentukan fungsi call_user_func_array ini kemudian fungsi ini diisytiharkan dalam fungsi panggilan menggunakan namanya dan kami akan menghantar parameter fungsi sebagai hujah kedua kepada call_user_func_array sebagai parameter yang tinggal yang akan menjadi tatasusunan parameter. Mari kita kerjakan fungsi ini dengan jelas dengan contoh dalam bahagian di bawah.

Contoh #1

Kod:

<?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"));
?>

Output:

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'));
?>

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.

Atas ialah kandungan terperinci PHP call_user_func_array. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP array_pop()Artikel seterusnya:PHP array_pop()