Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan fungsi tanpa nama PHP?

Bagaimana untuk menggunakan fungsi tanpa nama PHP?

PHPz
PHPzasal
2024-04-17 09:27:021133semak imbas

Fungsi tanpa nama, juga dikenali sebagai fungsi penutupan, ialah jenis fungsi yang diperkenalkan dalam PHP 5.3 yang membolehkan fungsi ditakrifkan tanpa nama. Kelebihannya termasuk kesederhanaan kod, penciptaan dinamik dan skop setempat. Contoh biasa menggunakan fungsi tanpa nama termasuk menggunakannya dengan fungsi tatasusunan seperti array_filter() untuk melaksanakan logik penapisan yang lebih kompleks, seperti menapis tatasusunan berdasarkan sifat genap/ganjil nombor.

如何使用 PHP 匿名函数?

Cara menggunakan fungsi tanpa nama PHP

Fungsi tanpa nama, juga dikenali sebagai fungsi penutupan, ialah jenis fungsi yang diperkenalkan dalam PHP 5.3 yang membenarkan mentakrifkan fungsi tanpa nama. Ini berguna apabila anda perlu mencipta fungsi secara dinamik atau mencipta fungsi berskop setempat dalam fungsi bersarang.

Mencipta fungsi tanpa nama

Sintaks untuk mencipta fungsi tanpa nama adalah sangat mudah:

$anonFunc = function ($args) {
  // 函数主体
};

Sebagai contoh, fungsi tanpa nama berikut mengira jumlah dua nombor:

$sum = function ($a, $b) {
  return $a + $b;
};

Memanggil fungsi tanpa nama fungsi tanpa nama berbanding memanggil fungsi biasa Dengan cara yang sama:

echo $sum(10, 20); // 输出:30

Kelebihan menggunakan fungsi tanpa nama

    Kesederhanaan kod:
  • Fungsi tanpa nama boleh menjadikan kod anda lebih bersih dengan menghapuskan keperluan untuk mencipta dan menamakan fungsi.
  • Penciptaan dinamik:
  • Fungsi tanpa nama boleh dicipta secara dinamik untuk menjana fungsi dengan tingkah laku istimewa seperti yang diperlukan.
  • Skop tempatan:
  • Dalam fungsi bersarang, fungsi tanpa nama boleh mencipta skop tempatan untuk mengasingkan pembolehubah tempatan daripada skop luar.
Kes praktikal

Menggunakan array_filter() untuk mengisih tatasusunan

Fungsi tanpa nama boleh digunakan dengan fungsi tatasusunan (seperti array_filter()) untuk melaksanakan logik penapisan yang lebih kompleks Contoh berikut menapis tatasusunan mengikut sifat genap/ganjil nombor:

$array = [1, 2, 3, 4, 5, 6, 7, 8];

$even = array_filter($array, function ($num) {
  return $num % 2 == 0;
});

$odd = array_filter($array, function ($num) {
  return $num % 2 != 0;
});

Kini, $even akan mengandungi semua nombor genap dalam tatasusunan, manakala $odd akan mengandungi semua nombor ganjil. array_filter()) 一起使用,以实现更复杂的过滤逻辑。以下示例按数字的偶数/奇数属性过滤数组:

rrreee

现在,$even 将包含数组中所有偶数,而 $odd

Atas ialah kandungan terperinci Bagaimana untuk menggunakan fungsi tanpa nama 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