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
Lepaskan: 2024-12-27 14:12:10
asal
981 orang telah melayarinya

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

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

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

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

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan