Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menggunakan Pembolehubah Dikira Di Luar Fungsi Panggilan Balik dalam PHP?

Bagaimanakah Saya Boleh Menggunakan Pembolehubah Dikira Di Luar Fungsi Panggilan Balik dalam PHP?

Barbara Streisand
Barbara Streisandasal
2024-12-27 14:12:10979semak imbas

How Can I Use Variables Calculated Outside Callback Functions in PHP?

Menggunakan Pembolehubah Dikira Di Luar Fungsi Panggilan Balik

Dalam PHP, adalah mungkin untuk mengira pembolehubah di luar fungsi panggil balik dan menggunakannya dalam fungsi tersebut. Mari kita pertimbangkan senario berikut:

Anda mempunyai tatasusunan $arr dan ingin menggunakan tatasusunan_penapis untuk mencipta tatasusunan baharu yang mengandungi hanya nilai kurang daripada purata elemen dalam $arr.

Untuk mencapai ini menggunakan fungsi panggil balik, anda mungkin menghadapi cabaran untuk mengira purata di luar fungsi dan menggunakannya dalam. Walau bagaimanapun, kata kunci penggunaan menyediakan penyelesaian.

Menggunakan Kata Kunci penggunaan

Kata kunci penggunaan membenarkan fungsi tanpa nama untuk mewarisi pembolehubah daripada skop induk. Dalam kes ini, anda boleh mentakrifkan fungsi panggil balik seperti berikut:

$avg = array_sum($arr) / count($arr);
$callback = function($val) use ($avg) { return $val < $avg; };

Di sini, $avg diwarisi daripada skop induk menggunakan kata kunci use. Fungsi panggil balik kini boleh menggunakan $avg untuk menapis elemen.

return array_filter($arr, $callback);

Menggunakan Fungsi Anak Panah (PHP 7.4 atau Kemudian)

PHP 7.4 memperkenalkan fungsi anak panah, iaitu alternatif yang lebih ringkas kepada fungsi tanpa nama. Fungsi anak panah menangkap pembolehubah luar secara automatik, menghapuskan keperluan untuk digunakan.

Anda boleh menentukan fungsi panggil balik seperti berikut:

$callback = fn($val) => $val < $avg;

Penapisan Tatasusunan Ringkas dengan Fungsi Anak Panah

Memandangkan fungsi anak panah sangat ringkas, anda boleh membenamkannya terus dalam array_filter panggilan:

return array_filter($arr, fn($val) => $val < $avg);

Ringkasnya, penggunaan kata kunci atau fungsi anak panah membolehkan anda mengira pembolehubah di luar fungsi panggil balik dan menggunakannya di dalam, membolehkan operasi penapisan yang lebih fleksibel dan mudah.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pembolehubah Dikira Di Luar Fungsi Panggilan Balik dalam PHP?. 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