Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk melakukan pengaturcaraan berfungsi dengan PHP
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 lebih mudah untuk 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 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 unsur 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]fungsi array_filter boleh menerima fungsi dan tatasusunan sebagai parameter dan mengembalikan tatasusunan baharu Elemen dalam tatasusunan baharu ialah elemen dalam tatasusunan asal yang memenuhi syarat. Sebagai contoh, kami mempunyai tatasusunan $x=[1,2,3,4]$ dan ingin mendapatkan semua nombor genap dalam tatasusunan Anda boleh menggunakan kod berikut:
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]Fungsi array_reduce boleh menerima Mengambil fungsi, tatasusunan dan nilai awal sebagai argumen dan mengembalikan hasil terkumpul. Fungsi pengurangan menghantar setiap elemen dalam tatasusunan kepada fungsi untuk pengiraan, dan kemudian mendapat hasil terkumpul. Sebagai contoh, kami mempunyai tatasusunan $x=[1,2,3,4]$ dan ingin mengumpul semua elemen dalam tatasusunan Anda boleh menggunakan kod berikut:
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); // 输出 9Sintaks fungsi anak panah boleh memudahkan lagi kod di atas:
$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!