PHP - Menyusun Fungsi: Panduan untuk Pemula
Hai teman-teman pemula pengembang PHP! Hari ini, kita akan memulai perjalanan menarik ke dalam dunia menyusun fungsi di PHP. Jangan khawatir jika Anda baru belajar pemrograman - saya akan menjadi panduan teman anda, menjelaskan segala sesuatu langkah demi langkah dengan banyak contoh. mari kita masuk ke dalamnya!
Apa Itu Fungsi Callable?
Sebelum kita mulai, mari kita pahami apa yang dimaksud dengan "menyusun fungsi." Di PHP, fungsi dapat dianggap sebagai data, yang berarti kita dapat menyusunnya sebagai argumen ke fungsi lain. Fungsi yang dapat disusun ini biasanya disebut "callable" atau "callbacks."
Bayangkan Anda memiliki kotak ajaib (sebuah fungsi) yang dapat melakukan berbagai trik berdasarkan instruksi (fungsi lain) yang Anda masukkan ke dalamnya. Itu sebenarnya apa yang kita lakukan saat menyusun fungsi!
array_map(): Mengubah Array Dengan mudah
Marilah kita mulai dengan salah satu fungsi yang paling sering digunakan untuk menyusun callback: array_map()
.
apa yang dilakukan array_map()?
array_map()
menerapkan fungsi callback ke setiap elemen array dan mengembalikan array baru dengan hasilnya.
Contoh 1: Menggandakan Angka
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
return $n * 2;
}, $numbers);
print_r($doubled);
Output:
Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 8
[4] => 10
)
Dalam contoh ini, kita menyusun fungsi tak bernama (juga disebut closure) ke array_map()
. Fungsi ini mengambil setiap angka dan mengalikannya dengan 2. Hasilnya adalah array baru dengan semua angka digandakan.
Contoh 2: Membuat Huruf Pertama Nama Kapital
$names = ['alice', 'bob', 'charlie'];
$capitalized = array_map('ucfirst', $names);
print_r($capitalized);
Output:
Array
(
[0] => Alice
[1] => Bob
[2] => Charlie
)
Di sini, kita menyusun fungsi bawaan PHP ucfirst
sebagai string. array_map()
menerapkan fungsi ini ke setiap nama, membuat huruf pertama kapital.
call_user_func(): pisau universal pemanggilan fungsi
call_user_func()
adalah fungsi multifungsi yang memungkinkan Anda memanggil setiap fungsi callable atau metode.
Contoh 3: Memanggil Fungsi Sederhana
function greet($name) {
return "Hello, $name!";
}
$result = call_user_func('greet', 'World');
echo $result; // Output: Hello, World!
Dalam contoh ini, kita memanggil nama fungsi ('greet') sebagai string, diikuti oleh argументnya.
Contoh 4: Memanggil Metode dari Objek
class Greeter {
public function sayHi($name) {
return "Hi, $name!";
}
}
$greeter = new Greeter();
$result = call_user_func([$greeter, 'sayHi'], 'PHP');
echo $result; // Output: Hi, PHP!
Di sini, kita memanggil metode dari objek. Kita menyusun array yang berisi objek dan nama metode, diikuti oleh argумент.
usort(): Pengurutan Khusus dengan Callbacks
usort()
adalah fungsi kuat yang memungkinkan Anda mengurutkan array menggunakan fungsi perbandingan khusus.
Contoh 5: Mengurutkan Array Objek
class Person {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
}
$people = [
new Person('Alice', 30),
new Person('Bob', 25),
new Person('Charlie', 35)
];
usort($people, function($a, $b) {
return $a->age - $b->age;
});
foreach ($people as $person) {
echo "{$person->name}: {$person->age}\n";
}
Output:
Bob: 25
Alice: 30
Charlie: 35
Dalam contoh ini, kita mengurutkan array objek Person
berdasarkan umur. Fungsi callback membandingkan umur dua orang dan mengembalikan nilai negatif, nol, atau positif untuk menentukan urutan mereka.
Menyusun Callbacks ke Fungsi User-defined
Sekarang kita sudah melihat bagaimana fungsi bawaan PHP menggunakan callbacks, mari kita buat fungsi sendiri yang menerima callback.
Contoh 6: Membuat Fungsi Map Khusus
function myMap($array, $callback) {
$result = [];
foreach ($array as $item) {
$result[] = $callback($item);
}
return $result;
}
$numbers = [1, 2, 3, 4, 5];
$squared = myMap($numbers, function($n) {
return $n * $n;
});
print_r($squared);
Output:
Array
(
[0] => 1
[1] => 4
[2] => 9
[3] => 16
[4] => 25
)
Dalam contoh ini, kita membuat fungsi myMap
sendiri yang ber perilaku mirip dengan array_map
. Itu menerima array dan fungsi callback, menerapkan callback ke setiap elemen, dan mengembalikan array baru dengan hasilnya.
Kesimpulan
Selamat! Anda baru saja mengambil langkah pertama ke dalam dunia menyusun fungsi di PHP. Kita telah melihat array_map()
, call_user_func()
, usort()
, dan bahkan membuat fungsi sendiri yang menerima callbacks.
Ingat, menyusun fungsi adalah teknik kuat yang memungkinkan Anda menulis kode yang lebih fleksibel dan dapat digunakan kembali. Itu seperti memiliki pisau Swiss Army di alat pemrograman Anda - multifungsi dan selalu siap menghadapi tugas berbeda!
Sebagai Anda terus melanjutkan perjalanan PHP Anda, Anda akan menemukan banyak kesempatan lagi untuk menggunakan teknik ini. Terus latih, dan segera Anda akan menjadi ahli menyusun fungsi!
Berikut adalah tabel rujukan cepat dari fungsi yang kita diskusikan:
Fungsi | Deskripsi | Contoh Penggunaan |
---|---|---|
array_map() | Menyusun callback ke semua elemen array | Transformasi elemen array |
call_user_func() | Memanggil callback dengan parameter | Memanggil fungsi atau metode secara dinamis |
usort() | Mengurutkan array menggunakan fungsi perbandingan khusus | Pengurutan array khusus |
Selamat coding, dan ingat - di dunia PHP, fungsi adalah teman Anda!
Credits: Image by storyset