Menu
CoddyTech

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.

challenge icon

Tantangan

Mudah

Buat 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;
?>
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler PHP online