Fungsi tanpa nama PHP ialah fungsi tanpa nama yang dicipta secara dinamik semasa masa jalan. Ia dilaksanakan sebagai kes khas kelas dalaman, boleh mengakses pembolehubah luaran menggunakan kata kunci penggunaan, dan tidak boleh dipanggil secara rekursif.
Bagaimana fungsi tanpa nama berfungsi dalam PHP
Apakah fungsi tanpa nama?
PHP Fungsi Tanpa Nama ialah fungsi tanpa nama yang biasanya dihantar sebagai hujah kepada fungsi atau kaedah lain. Mereka menjadikan kod lebih bersih dan lebih mudah untuk diurus.
Sintaks:
$callback = function (参数) { // 函数体 };
Bagaimana ia berfungsi?
Fungsi tanpa nama PHP dicipta secara dinamik semasa masa jalan. Mereka dilaksanakan sebagai kes khas kelas dalaman.
Apabila anda memanggil fungsi tanpa nama, enjin pelaksanaan akan mencipta kelas dalaman baharu yang mewarisi daripada kelas Closure PHP. Kelas baharu ini mempunyai sifat berikut:
$this
merujuk kepada skop di mana fungsi tanpa nama terletak. $this
引用匿名函数所在的范围。__invoke()
方法中。实际案例:
让我们看看一个实际案例,其中我们使用匿名函数对数组中的元素应用 strtoupper()
函数:
$arr = ['apple', 'banana', 'cherry']; $modifiedArr = array_map(function ($item) { return strtoupper($item); }, $arr); print_r($modifiedArr); // 输出 ['APPLE', 'BANANA', 'CHERRY']
在上面的示例中,我们创建了一个匿名函数,将每个元素转换为大写。然后我们将这个匿名函数作为 array_map()
函数的参数,该函数将其应用于数组中的每个元素。
注意事项:
use
__invoke()
. strtoupper()
pada elemen dalam tatasusunan menggunakan fungsi tanpa nama: 🎜rrreee🎜Dalam contoh di atas, Kami mencipta anonim fungsi yang menukar setiap elemen kepada huruf besar. Kami kemudiannya memberikan fungsi tanpa nama ini sebagai hujah kepada fungsi array_map()
, yang menggunakannya pada setiap elemen dalam tatasusunan. 🎜🎜🎜Nota: 🎜🎜🎜🎜Fungsi tanpa nama boleh mengakses pembolehubah dalam skop luar. 🎜🎜Mereka boleh menangkap pembolehubah luaran dan menghalang pengubahsuaian secara tidak sengaja menggunakan kata kunci use
. 🎜🎜Fungsi tanpa nama tidak boleh dipanggil secara rekursif. 🎜🎜Atas ialah kandungan terperinci Bagaimanakah fungsi tanpa nama PHP berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!