PHP ialah bahasa sebelah pelayan yang digunakan secara meluas Salah satu sebab mengapa ramai pembangun web suka menggunakan PHP ialah perpustakaan fungsinya yang kaya dan sintaks fungsi yang ringkas dan mudah digunakan. Pengaturcaraan fungsional ialah paradigma pengaturcaraan yang merangkum data dan tingkah laku dengan baik, menjadikan kod lebih modular dan mudah diselenggara dan diuji. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP untuk pengaturcaraan berfungsi.
Idea teras pengaturcaraan berfungsi adalah untuk menganggap fungsi sebagai warga kelas pertama, dan fungsi itu sendiri boleh diluluskan, dikembalikan, dan terdiri seperti pembolehubah. Dalam pengaturcaraan berfungsi, kami tidak mengubah suai keadaan boleh ubah, tetapi kami mengubah dan menapisnya melalui fungsi.
PHP sendiri menyokong pengaturcaraan berfungsi, dan terdapat banyak fungsi terbina dalam yang boleh digunakan untuk pemprosesan berfungsi. Contohnya array_map, array_filter, dsb. Di bawah kami menunjukkan cara menggunakan fungsi ini untuk melaksanakan operasi pengaturcaraan fungsi biasa.
Fungsi tertib tinggi ialah fungsi yang boleh menerima fungsi sebagai parameter atau mengembalikan fungsi. Fungsi sedemikian boleh digunakan untuk mengarang dan menggunakan semula kod. Dalam PHP, fungsi tertib tinggi yang biasa digunakan termasuk array_map, array_filter, array_reduce, dll.
Fungsi array_map boleh menerima fungsi dan tatasusunan sebagai parameter dan mengembalikan tatasusunan baharu Elemen tatasusunan baharu ialah nilai yang diperolehi selepas elemen dalam tatasusunan asal ditukarkan oleh fungsi.
Contohnya, kami mempunyai tatasusunan $x=[1,2,3,4]$ dan ingin menduakan setiap elemen dalam tatasusunan Anda boleh menggunakan kod berikut:
function square($x) { return $x * $x; } $array = [1, 2, 3, 4]; $new_array = array_map('square', $array); var_dump($new_array); // 输出 [1, 4, 9, 16]
function is_even($x) { return $x % 2 == 0; } $array = [1, 2, 3, 4]; $new_array = array_filter($array, 'is_even'); var_dump($new_array); // 输出 [2, 4]
function add($a, $b) { return $a + $b; } $array = [1, 2, 3, 4]; $result = array_reduce($array, 'add'); var_dump($result); // 输出 10
$square = function($x) { return $x * $x; }; $result = $square(3); var_dump($result); // 输出 9
$square = fn($x) => $x * $x; $result = $square(3); var_dump($result); // 输出 9
function add($x, $y, $z) { return $x + $y + $z; } $curried_add = function($x) use ($add) { return function($y) use ($x, $add) { return function($z) use ($x, $y, $add) { return $add($x, $y, $z); }; }; }; $result = $curried_add(1)(2)(3); var_dump($result); // 输出 6
function f($x) { return $x + 1; } function g($x) { return $x * 2; } $compose = function($f, $g) { return function($x) use ($f, $g) { return $f($g($x)); }; }; $h = $compose('f', 'g'); $result = $h(2); var_dump($result); // 输出 5
Atas ialah kandungan terperinci Bagaimana untuk melakukan pengaturcaraan berfungsi dengan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!