Rumah > pembangunan bahagian belakang > masalah PHP > Penjelasan terperinci tentang penggunaan dan penulisan panggilan balik dalam PHP

Penjelasan terperinci tentang penggunaan dan penulisan panggilan balik dalam PHP

PHPz
Lepaskan: 2023-04-06 09:42:01
asal
986 orang telah melayarinya

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:

  1. Pemprosesan acara

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.

  1. Isih

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.

  1. Panggilan dinamik

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:

  1. Fungsi tanpa nama

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);
});
Salin selepas log masuk

Dalam kod di atas, fungsi tanpa nama dihantar terus sebagai parameter kepada fungsi array_sort.

  1. Nama fungsi panggil balik

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');
Salin selepas log masuk

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'));
Salin selepas log masuk

Dalam kod di atas, kami memanggil kaedah myCallbackMethod kelas MyClass melalui fungsi call_user_func().

4. Nota tentang fungsi panggil balik

  1. Fungsi panggil balik mestilah fungsi yang telah diisytiharkan dalam PHP atau kaedah objek boleh panggil.
  2. Fungsi panggil balik mesti diisytiharkan atau ditakrifkan sebelum memanggil fungsi, jika tidak, ralat "nama fungsi tidak ditentukan" mungkin berlaku.
  3. Apabila fungsi panggil balik ialah kaedah yang menggunakan tika objek, objek mesti dibuat seketika sebelum fungsi dipanggil.

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan