Dalam pengaturcaraan, selalunya berguna untuk dapat memanggil fungsi berdasarkan namanya yang disimpan dalam pembolehubah. Teknik ini membolehkan lebih fleksibiliti dan penggunaan semula kod.
Untuk memanggil fungsi daripada pembolehubah, anda boleh menggunakan salah satu kaedah berikut:
1. Panggilan Fungsi Langsung:
Tetapkan nama fungsi kepada pembolehubah menggunakan petikan tunggal atau berganda (cth., $functionName = "foo") dan kemudian panggil fungsi terus menggunakan pembolehubah (cth., $functionName( )).
2. call_user_func():
Fungsi call_user_func() mengambil nama fungsi yang disimpan dalam pembolehubah sebagai argumen pertamanya dan sebarang parameter yang diperlukan sebagai argumen seterusnya.
Contoh:
function foo() { // Code } function bar() { // Code } $functionName = "foo"; // Call the function using direct function call $functionName(); // Call the function using call_user_func() call_user_func($functionName);
Untuk menghantar parameter yang disimpan dalam tatasusunan berubah, gunakan operator pembongkaran tatasusunan (...):
$function_name = 'trim'; $parameters = ['aaabbb', 'b']; echo $function_name(...$parameters); // aaa
Untuk secara dinamik buat objek dan panggil kaedahnya, gunakan sintaks berikut:
$class = 'DateTime'; $method = 'format'; echo (new $class)->$method('d-m-Y');
Untuk statik kaedah:
$class = 'DateTime'; $static = 'createFromFormat'; $date = $class::$static('d-m-Y', '17-08-2023');
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memanggil Fungsi dan Kaedah Secara Dinamik dalam Pengaturcaraan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!