Menggunakan Fungsi Tanpa Nama sebagai Parameter untuk Mengakses Pembolehubah Luaran
Senario ini melibatkan fungsi berguna yang memproses baris pangkalan data dengan mudah. Walau bagaimanapun, keperluan khusus timbul di mana anda perlu menggabungkan semua tajuk daripada keputusan yang ditetapkan ke dalam pembolehubah tunggal. Ini menimbulkan persoalan tentang cara untuk mencapainya tanpa bergantung pada pendekatan yang kurang elegan menggunakan kata kunci global.
Satu penyelesaian terletak pada penggunaan pembolehubah penutupan. Khususnya, kata kunci penggunaan membenarkan penutupan untuk mewarisi pembolehubah daripada skop induk. Ini berbeza daripada pembolehubah global, yang berterusan merentas semua fungsi.
Untuk melaksanakan penyelesaian ini, kod boleh diubah suai seperti berikut:
$result = ''; fetch("SELECT title FROM tbl", function($r) use (&$result) { $result .= $r['title']; });
Dengan menambahkan penggunaan (&$result) pada fungsi tanpa nama, kami dapat merujuk dan mengubah suai pembolehubah hasil dari dalam fungsi. Kata kunci penggunaan secara berkesan menghantar rujukan kepada pembolehubah hasil kepada penutupan.
Adalah penting untuk ambil perhatian bahawa pendekatan ini melibatkan pengikatan awal, yang bermaksud bahawa penutupan menggunakan nilai pembolehubah pada titik pengisytiharan fungsi, bukan pada titik panggilan fungsi (pengikatan lewat). Perkara ini perlu diingat apabila menggunakan penutupan untuk tujuan ini.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengakses dan mengubah suai pembolehubah luaran dalam fungsi tanpa nama dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!