Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah fungsi tanpa nama PHP berfungsi?

Bagaimanakah fungsi tanpa nama PHP berfungsi?

王林
王林asal
2024-04-11 09:18:021192semak imbas

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.

PHP 匿名函数的工作原理是什么?

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
  • Parameter lulus apabila memanggil.
  • Bahagian penutupan fungsi disimpan dalam kaedah __invoke().
🎜🎜🎜Kes Sebenar: 🎜🎜🎜Mari kita lihat kes sebenar di mana kita menggunakan fungsi 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!

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