Dengan perkembangan teknologi Internet, PHP telah menjadi salah satu bahasa penting untuk pembangunan laman web. Dalam pembangunan PHP, fungsi panggil balik adalah ciri bahasa yang sangat penting dan sering digunakan. Artikel ini akan memperkenalkan penggunaan dan penulisan panggil balik dalam PHP.
1. Apakah fungsi panggil balik
Fungsi panggil balik merujuk kepada menghantar nama fungsi sebagai parameter kepada fungsi lain dalam panggilan fungsi Apabila fungsi dipanggil, nama fungsi masuk akan Digunakan di dalam fungsi ini. Ringkasnya, fungsi panggil balik ialah fungsi yang dihantar sebagai parameter kepada fungsi lain.
2. Senario penggunaan fungsi panggil balik
Fungsi panggil balik digunakan secara meluas dalam PHP dan digunakan terutamanya dalam tiga aspek berikut:
Dalam pengaturcaraan dipacu peristiwa, selalunya fungsi perlu dilaksanakan secara automatik apabila peristiwa berlaku. Fungsi sedemikian boleh dipanggil fungsi panggil balik. Sebagai contoh, fungsi mengikat acara dalam jquery hanya akan memanggil fungsi panggil balik apabila peristiwa itu berlaku.
Dalam PHP, fungsi isihan mempunyai dua parameter utama, iaitu tatasusunan tersusun dan fungsi perbandingan. Fungsi perbandingan ialah fungsi panggil balik yang digunakan untuk menentukan cara membandingkan item dalam tatasusunan mengikut keperluan. Sebagai contoh, fungsi usort() dan fungsi uasort() menggunakan fungsi panggil balik untuk membandingkan item dalam tatasusunan.
Apabila kita menulis fungsi umum, kita selalunya perlu memanggil fungsi yang berbeza secara dinamik Pada masa ini, kita boleh menggunakan fungsi panggil balik.
3. Cara menulis fungsi panggil balik
Terdapat dua kaedah penghantaran untuk fungsi panggil balik dalam PHP: fungsi tanpa nama dan nama fungsi panggil balik. Di bawah kami akan memperkenalkan dua kaedah penulisan ini masing-masing:
Selepas versi PHP5.3, sokongan untuk fungsi tanpa nama telah ditambah, dan anda boleh terus menghubungi fungsi Tentukan fungsi tanpa nama. Berikut ialah contoh kod untuk fungsi tanpa nama:
function array_sort($arr, $compare_func) { usort($arr, $compare_func); return $arr; } //仅使用一次的函数可以通过匿名函数来定义 $sorted_array = array_sort($arr, function($a, $b){ return strcmp($a->name, $b->name); });
Dalam kod di atas, fungsi tanpa nama dihantar terus sebagai parameter kepada fungsi array_sort.
Nama fungsi panggil balik boleh menjadi rentetan atau tatasusunan.
(1) Nama fungsi panggil balik ialah rentetan
Apabila nama fungsi panggil balik ialah rentetan, kelebihannya ialah ia ringkas dan mudah digunakan. Berikut ialah contoh kod apabila fungsi panggil balik dinamakan rentetan:
function my_callback_function() { echo 'hello world!'; } call_user_func('my_callback_function');
Dalam kod di atas, kami memanggil fungsi my_callback_function() melalui fungsi call_user_func().
(2) Fungsi panggil balik dinamakan tatasusunan
Apabila fungsi panggil balik dinamakan tatasusunan dan elemen pertama ialah contoh objek, elemen kedua mestilah objek awam ini kaedah. Berikut ialah contoh kod apabila fungsi panggil balik dinamakan tatasusunan:
class MyClass { public static function myCallbackMethod() { echo 'Hello World!'; } } call_user_func(array('MyClass', 'myCallbackMethod'));
Dalam kod di atas, kami memanggil kaedah myCallbackMethod kelas MyClass melalui fungsi call_user_func().
4. Nota tentang fungsi panggil balik
Ringkasan
Fungsi panggil balik ialah ciri bahasa yang sangat biasa digunakan dalam PHP, yang boleh digunakan dalam pemprosesan acara, pengisihan, panggilan dinamik dan senario lain. Fungsi tanpa nama dan nama fungsi panggil balik ialah dua cara penulisan yang biasa digunakan. Menggunakan PHP, kami boleh menentukan dan menggunakan fungsi panggil balik dengan sangat mudah.
Atas ialah kandungan terperinci Penjelasan terperinci tentang penggunaan dan penulisan panggilan balik dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!