Mengakses Pembolehubah Luaran dalam Fungsi Panggilan Balik
Dalam PHP, selalunya diperlukan untuk menggunakan fungsi panggil balik bersama-sama dengan pembolehubah yang dikira di luar fungsi skop. Senario ini menimbulkan persoalan: Adakah mungkin untuk mengakses pembolehubah sedemikian dalam panggilan balik?
Gunakan Kata Kunci dan Fungsi Anak Panah
Nasib baik, PHP menyediakan penyelesaian melalui penggunaan kata kunci. Anda boleh mewarisi pembolehubah daripada skop induk dengan mendahului definisi panggil balik dengan penggunaan. Contohnya:
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; $avg = array_sum($arr) / count($arr); $callback = function($val) use ($avg) { return $val < $avg; }; return array_filter($arr, $callback);
Untuk PHP versi 7.4 dan lebih baru, fungsi anak panah menawarkan pendekatan yang lebih elegan. Fungsi anak panah menangkap pembolehubah luar secara automatik:
$callback = fn($val) => $val < $avg;
Dalam panggilan array_filter, anda boleh terus menggunakan fungsi anak panah:
return array_filter($arr, fn($val) => $val < $avg);
Dengan memanfaatkan penggunaan kata kunci atau fungsi anak panah, ia menjadi mudah untuk mengakses pembolehubah luaran dalam fungsi panggil balik dalam PHP.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Pembolehubah Luaran Di Dalam Fungsi Panggilan Balik PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!