Cara menggunakan fungsi anak panah PHP untuk melaksanakan kari fungsi
Kari ialah konsep pengaturcaraan berfungsi yang merujuk kepada menukar fungsi berbilang parameter kepada fungsi yang hanya menerima proses jujukan parameter tunggal. Dalam PHP, kita boleh menggunakan fungsi anak panah untuk melaksanakan karier fungsi, menjadikan kod lebih ringkas dan fleksibel.
Fungsi anak panah yang dipanggil ialah sintaks fungsi tanpa nama baharu yang diperkenalkan dalam PHP 7.4. Cirinya ialah ia boleh menangkap pembolehubah luaran dan hanya mempunyai satu ungkapan sebagai badan fungsi, tanpa kata kunci pulangan.
Yang berikut menggunakan contoh kod khusus untuk menunjukkan cara menggunakan fungsi anak panah untuk melaksanakan kari fungsi.
// 定义一个普通的加法函数 $add = function ($a, $b) { return $a + $b; }; // 定义一个柯里化的函数 $curry = function ($func) { return fn($a) => fn($b) => $func($a, $b); }; // 使用柯里化的方式调用加法函数 $curriedAdd = $curry($add); // 调用方式1 $result = $curriedAdd(1)(2); // 3 echo $result . " "; // 调用方式2 $add2 = $curriedAdd(2); // 固定参数 a = 2 $result = $add2(3); // 5 echo $result . " "; // 调用方式3 $add5 = $curriedAdd(5); // 固定参数 a = 5 $result = $add5(6); // 11 echo $result . " ";
Dalam kod di atas, kami mentakrifkan fungsi tambahan biasa $add
. Kemudian, kami mentakrifkan fungsi $curry
yang menerima fungsi sebagai hujah dan mengembalikan fungsi kari. $add
。然后,我们定义了一个 $curry
函数,它接受一个函数作为参数,并返回一个柯里化的函数。
柯里化的函数是通过箭头函数来实现的。它接受一个参数 $a
,并返回一个匿名函数,这个匿名函数接受另一个参数 $b
,并调用原始函数 $func
来计算结果。
在定义了柯里化的函数之后,我们可以通过调用 $curry
函数来传入原始函数,并得到一个柯里化的函数。
在调用柯里化的函数时,我们可以使用两种方式:
$curriedAdd(1)(2)
,先传入 1,再传入 2,得到最终的结果 3。$add2 = $curriedAdd(2)
$a
dan mengembalikan fungsi tanpa nama yang menerima parameter lain $b
dan memanggil fungsi asal $func
untuk mengira hasilnya. Selepas mentakrifkan fungsi kari, kita boleh memasukkan fungsi asal dan mendapatkan fungsi kari dengan memanggil fungsi $curry
.
Apabila memanggil fungsi kari, kita boleh menggunakan dua kaedah:
$curriedAdd(1)(2)
, mula-mula lulus dalam 1, kemudian 2, dan dapatkan keputusan akhir 3. 🎜$add2 = $curriedAdd(2)
, mula-mula lulus dalam 2, kembalikan fungsi baharu, kemudian lulus dalam 3, dan dapatkan hasil akhir 5. 🎜🎜🎜Melalui kaedah kari ini, kita boleh mencipta fungsi baharu dengan mudah, membetulkan beberapa parameter dan melambatkan penghantaran parameter yang tinggal. Ini berguna apabila membina kombinasi fungsi yang kompleks atau apabila berurusan dengan fungsi panggil balik. 🎜🎜Menggunakan fungsi anak panah PHP untuk melaksanakan karier fungsi boleh menjadikan kod lebih jelas, ringkas dan boleh dibaca serta meningkatkan kebolehselenggaraan dan kebolehgunaan semula kod. Walau bagaimanapun, dalam pembangunan sebenar, anda perlu memilih sama ada untuk menggunakan karipap berdasarkan keadaan tertentu untuk mengelakkan penggunaan berlebihan yang menyebabkan kod sukar difahami. 🎜Atas ialah kandungan terperinci Cara menggunakan fungsi anak panah PHP untuk melaksanakan karier fungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!