Bahasa PHP menyediakan pelbagai teknik panggilan fungsi, termasuk: panggilan fungsi standard, menggunakan pembolehubah sebagai nama fungsi dan penunjuk fungsi. Dengan menggunakan penunjuk fungsi, pengaturcara boleh menghantar fungsi sebagai argumen kepada fungsi lain atau panggilan balik. Sebagai contoh, kita boleh menghantar fungsi check_user() sebagai fungsi panggil balik kepada array_filter() menggunakan penuding fungsi untuk menapis tatasusunan pengguna yang gagal pengesahan.
Teknik dan pilihan yang berbeza untuk panggilan fungsi PHP
Bahasa PHP menyediakan pelbagai kaedah untuk memanggil fungsi, menjadikannya lebih mudah untuk pengaturcara memilih teknologi yang paling sesuai berdasarkan senario tertentu. Berikut adalah teknik dan pilihan panggilan fungsi yang biasa digunakan:
1 Panggilan fungsi standard
Ini adalah kaedah panggilan fungsi yang paling asas, menggunakan nama fungsi secara langsung dan lulus parameter. Contohnya:
function calculate_total($price, $quantity) { return $price * $quantity; } $total = calculate_total(10, 5); // 返回 50
2 Gunakan pembolehubah sebagai nama fungsi
Anda boleh menggunakan pembolehubah untuk menyimpan nama fungsi, yang membolehkan fungsi memanggil secara dinamik pada masa jalan. Contohnya:
$function_name = "calculate_total"; $param1 = 10; $param2 = 5; call_user_func($function_name, $param1, $param2); // 返回 50
3. Penunjuk fungsi
Penunjuk fungsi ialah rujukan kepada fungsi dan boleh dibuat menggunakan kata kunci fn
. Ini memungkinkan untuk menghantar fungsi sebagai argumen kepada fungsi atau panggilan balik lain. Contohnya: fn
关键字创建。这样就可以将函数作为参数传递给其他函数或回调。例如:
$func = fn($x, $y) => $x + $y;
实战案例:
假设我们有一个函数 check_user()
,用于验证用户身份。我们可以使用函数指针将此函数作为回调函数传递给 array_filter()
,以过滤掉未通过验证的用户数组。
function check_user($user) { return $user['is_verified']; } $users = [ ['name' => 'John Doe', 'is_verified' => true], ['name' => 'Jane Doe', 'is_verified' => false], ]; $verified_users = array_filter($users, 'check_user');
这样,$verified_users
rrreee
check_user()
untuk mengesahkan identiti pengguna. Kita boleh menghantar fungsi ini sebagai fungsi panggil balik kepada array_filter()
menggunakan penuding fungsi untuk menapis tatasusunan pengguna yang gagal pengesahan. 🎜rrreee🎜Dengan cara ini, $verified_users
hanya mengandungi pengguna yang disahkan. 🎜Atas ialah kandungan terperinci Petua dan pilihan yang berbeza untuk panggilan fungsi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!