Kolbalik dalam Fungsi Terbina Dalam PHP
Dalam PHP terdapat beberapa fungsi terbina dalam,
yang menerima kolbalik sebagai parameter.
Prinsip umum bekerja dengannya akan kita pelajari
menggunakan contoh fungsi array_map.
Fungsi ini menerima kolbalik sebagai parameter pertama,
dan array sebagai parameter kedua. Fungsi ini mengaplikasikan
kolbalik kepada setiap elemen array
dan mengembalikan array yang telah diubah.
Mari kita lihat pilihan penggunaan fungsi ini dengan mengambil kira pengetahuan yang telah kita peroleh sebelumnya.
Pilihan 1
Mari ekstrak punca kuasa dua daripada
setiap elemen array menggunakan fungsi terbina dalam
sqrt.
Untuk ini, kita akan hantar string dengan nama fungsi tersebut
sebagai kolbalik melalui parameter:
<?php
$arr = [1, 2, 3, 4, 5];
$res = array_map('sqrt', $arr);
var_dump($res);
?>
Pilihan 2
Mari kuasa duakan setiap elemen array menggunakan fungsi biasa yang kita cipta. Untuk ini, kita akan hantar string dengan nama fungsi tersebut sebagai kolbalik melalui parameter:
<?php
$arr = [1, 2, 3, 4, 5];
function func($num) {
return $num ** 2;
}
$res = array_map('func', $arr);
var_dump($res);
?>
Pilihan 3
Mari tukar fungsi kita kepada fungsi tanpa nama (anonim), yang disimpan dalam pembolehubah:
<?php
$arr = [1, 2, 3, 4, 5];
$func = function ($num) {
return $num ** 2;
};
$res = array_map($func, $arr);
var_dump($res);
?>
Pilihan 4
Mari hantar fungsi anonim sebagai parameter:
<?php
$arr = [1, 2, 3, 4, 5];
$res = array_map(function ($num) {
return $num ** 2;
}, $arr);
var_dump($res);
?>
Pilihan 5
Mari gunakan fungsi anak panah (arrow function):
<?php
$arr = [1, 2, 3, 4, 5];
$res = array_map(fn ($num) => $num ** 2, $arr);
var_dump($res);
?>
Pilihan 6
Sekarang, mari tetapkan kuasa, yang mana
nombor perlu dikuasakan, melalui pembolehubah luaran
kolbalik. Mari gunakan pembolehubah ini,
dengan mendapatkan akses kepadanya melalui use:
<?php
$arr = [1, 2, 3, 4, 5];
$pow = 3;
$res = array_map(function ($num) use ($pow) {
return $num ** $pow;
}, $arr);
var_dump($res);
?>
Pilihan 7
Mari tulis semula kod sebelumnya menggunakan fungsi
anak panah. Sekarang pembolehubah $pow
akan boleh diakses secara automatik:
<?php
$arr = [1, 2, 3, 4, 5];
$pow = 3;
$res = array_map(fn ($num) => $num ** $pow, $arr);
var_dump($res);
?>
Masalah Praktikal
Diberi array dengan string. Tukar teks setiap elemen array kepada huruf besar.
Diberi array dengan string. Balikkan teks setiap elemen array supaya aksara berjalan dalam urutan terbalik.