Menggunakan 'call_user_func'
Termasuk bagian Logika dan Alur dalam perjalanan PHP di Coddy. Pelajaran 5 dari 68.
Fungsi call_user_func() menyediakan cara yang ampuh untuk memanggil fungsi secara dinamis di PHP. Alih-alih memanggil fungsi langsung dengan namanya, kamu bisa menyimpan nama fungsi dalam variabel string dan menggunakan call_user_func() untuk menjalankannya.
Berikut sintaks dasarnya:
<?php
function greet() {
echo "Hello World!";
}
$functionName = "greet";
call_user_func($functionName); // Output: Hello World!
?>Ini menjadi sangat berguna ketika kamu perlu memanggil fungsi yang berbeda berdasarkan input pengguna atau kondisi. Kamu juga bisa meneruskan argumen ke fungsi dengan menyertakannya sebagai parameter tambahan:
<?php
function add($a, $b) {
return $a + $b;
}
$operation = "add";
$result = call_user_func($operation, 5, 3);
echo $result; // Output: 8
?>Pemanggilan fungsi dinamis ini sangat berguna saat membangun aplikasi fleksibel yang fungsi spesifiknya ditentukan saat program berjalan, seperti kalkulator, pemroses perintah, atau sistem perutean.
Tantangan
MudahBuat tiga fungsi: multiply yang menerima dua angka dan mengembalikan hasil kalinya, subtract yang menerima dua angka dan mengembalikan selisihnya, serta divide yang menerima dua angka dan mengembalikan hasil baginya.
Kamu akan menerima tiga input: nama operasi ("multiply", "subtract", atau "divide"), dan dua angka. Baca ketiga input, gunakan call_user_func() untuk menjalankan fungsi yang sesuai dengan kedua angka tersebut, lalu cetak hasilnya.
Format input: Tiga baris: baris pertama berisi nama operasi, baris kedua berisi angka pertama, baris ketiga berisi angka kedua
Output yang diharapkan: Hasil operasi
Coba sendiri
<?php
// Baca input
$operation = trim(fgets(STDIN));
$num1 = floatval(fgets(STDIN));
$num2 = floatval(fgets(STDIN));
// TODO: Buat tiga fungsi (multiply, subtract, divide) di sini
// TODO: Gunakan call_user_func() untuk menjalankan fungsi yang sesuai
// Tampilkan hasilnya 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