Fungsi Callback
Termasuk bagian Logika dan Alur dalam perjalanan PHP di Coddy. Pelajaran 4 dari 68.
Fungsi callback adalah fungsi yang diteruskan sebagai argumen ke fungsi lain. Alih-alih langsung memanggil fungsi tersebut, kamu meneruskan namanya agar fungsi penerima dapat memanggilnya nanti saat diperlukan.
Untuk meneruskan fungsi sebagai callback, kamu cukup menggunakan nama fungsi sebagai string:
<?php
function greet($name) {
echo "Hello, " . $name . "!";
}
function processUser($username, $callback) {
// Lakukan beberapa pemrosesan...
$callback($username); // Panggil fungsi callback
}
processUser("Alice", "greet"); // Output: Hello, Alice!
?>Dalam contoh ini, "greet" diberikan sebagai callback ke processUser(). Fungsi processUser() lalu memanggil callback dengan menggunakan string sebagai nama fungsi.
Callback sangat berguna karena membuat fungsi-fungsimu lebih fleksibel. Fungsi yang sama dapat melakukan tindakan berbeda, bergantung pada callback yang kamu berikan kepadanya. Konsep ini menjadi dasar bagi banyak fungsi bawaan PHP seperti array_map() dan array_filter(), yang akan kamu temui nanti dalam kursus ini.
Tantangan
MudahBuat dua fungsi: satu bernama formatUppercase yang menerima string dan mengembalikannya dalam huruf kapital, dan satu lagi bernama formatLowercase yang menerima string dan mengembalikannya dalam huruf kecil.
Lalu buat fungsi bernama applyFormat yang menerima dua parameter: string teks dan nama fungsi callback. Fungsi ini harus menerapkan callback ke teks dan mengembalikan hasilnya.
Kamu akan menerima dua input: jenis operasi ("upper" atau "lower") dan teks yang akan diformat. Baca kedua input, tentukan callback yang akan digunakan berdasarkan jenis operasi, panggil applyFormat dengan callback yang sesuai, lalu cetak hasil yang sudah diformat.
Format input: Dua baris, baris pertama berisi jenis operasi ("upper" atau "lower"), baris kedua berisi teks yang akan diformat
Output yang diharapkan: Teks yang sudah diformat berdasarkan jenis operasi
Coba sendiri
<?php
// Baca input
$operation = trim(fgets(STDIN));
$text = trim(fgets(STDIN));
// TODO: Tulis kodemu di bawah ini
// Buat fungsi formatUppercase
// Buat fungsi formatLowercase
// Buat fungsi applyFormat
// Tentukan callback yang digunakan berdasarkan jenis operasi
// Panggil applyFormat dengan callback yang sesuai
// Tampilkan hasil sebagai output
echo $result;
?>Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Fungsi Lanjutan
Fungsi AnonimClosure dan 'use'Fungsi PanahFungsi CallbackMenggunakan 'call_user_func'Fungsi VariabelMengirim dengan ReferensiFungsi RekursifUlasan: Ragam Fungsi4Array Multidimensi
Membuat array 2DMengakses Elemen array 2DMengubah Elemen array 2DMelakukan Perulangan dengan loop Bersarangarray Asosiatif 2DRekap: Latihan Kisi Sederhana2Manipulasi array Lanjutan
Menambahkan dengan 'array_push'Menghapus dengan 'array_pop'Menambahkan dengan 'array_unshift'Menghapus dengan 'array_shift'Menggabungkan array berindeksMenggabungkan array asosiatifMengambil bagian dengan 'array_slice'Nilai dengan 'in_array'Kunci dengan 'array_search'Rekap: Latihan playlist3Mengurutkan array
Urutkan array berindeks secara menaikUrutkan array berindeks secara menurunUrutkan assoc array berdasarkan nilaiUrutkan assoc array berdasarkan kunciPengurutan urutan alamiPengurutan khusus dengan 'usort'Rangkuman: Pengurutan papan peringkatLatihan sendiri: Compiler PHP online