Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengakses Pembolehubah Luaran dalam Fungsi Tanpa Nama dalam PHP?

Bagaimana untuk Mengakses Pembolehubah Luaran dalam Fungsi Tanpa Nama dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-11-11 12:36:02868semak imbas

How to Access External Variables within Anonymous Functions in PHP?

Mengakses Pembolehubah Luar Menggunakan Fungsi Tanpa Nama sebagai Parameter

Pernyataan Masalah:

Anda mempunyai fungsi boleh guna semula yang mengambil yang memproses pangkalan data baris dan membolehkan anda melakukan operasi pada setiap baris menggunakan fungsi tanpa nama. Walau bagaimanapun, anda perlu menggabungkan medan tertentu daripada semua baris ke dalam satu pembolehubah dalam fungsi tanpa nama.

Penyelesaian:

Untuk mengakses pembolehubah luar dalam tanpa nama fungsi, anda boleh menggunakan kata kunci penggunaan. Ini akan mewarisi pembolehubah daripada skop induk.

Contoh:

$result = '';
fetch("SELECT title FROM tbl", function($r) use (&$result) {
   $result .= $r['title'];
});

Cara ia Berfungsi:

  • Kata kunci penggunaan digunakan dalam senarai parameter fungsi tanpa nama.
  • Ia mengisytiharkan bahawa pembolehubah $hasil harus diwarisi daripada skop induk.
  • Dengan menggunakan simbol & dalam pernyataan penggunaan, pembolehubah diluluskan melalui rujukan, membenarkan fungsi tanpa nama mengubah nilainya.

Nota:

  • gunakan pembolehubah terikat awal, bermakna ia menggunakan nilai pembolehubah pada masa fungsi tanpa nama diisytiharkan, bukan apabila ia dipanggil.
  • Ini boleh membawa kepada tingkah laku yang tidak dijangka jika nilai pembolehubah diubah suai selepas fungsi tanpa nama ditakrifkan.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Pembolehubah Luaran dalam Fungsi Tanpa Nama 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