Melalui Argumen Dinamik dalam Fungsi PHP
Dalam PHP, adalah mungkin untuk mencipta fungsi yang menerima nombor pembolehubah argumen menggunakan func_num_args() dan func_get_args(). Walau bagaimanapun, menentukan hujah untuk dihantar ke fungsi tersebut boleh mencabar jika nombornya bergantung pada panjang tatasusunan.
Menggunakan call_user_func_array
Nasib baik, PHP menyediakan fungsi call_user_func_array, yang membolehkan anda memanggil fungsi dengan pelbagai argumen. Jika bilangan argumen yang anda ingin luluskan ditentukan oleh panjang tatasusunan, anda boleh membungkusnya ke dalam tatasusunan dan menggunakannya sebagai parameter kedua call_user_func_array.
Contoh
Pertimbangkan fungsi berikut:
function test() { var_dump(func_num_args()); var_dump(func_get_args()); }
Untuk memanggilnya dengan pelbagai argumen daripada tatasusunan, anda boleh melakukan perkara berikut:
$params = array( 10, 'glop', 'test', ); call_user_func_array('test', $params);
Output
int 3 array 0 => int 10 1 => string 'glop' (length=4) 2 => string 'test' (length=4)
Ini menunjukkan bahawa fungsi telah menerima tiga parameter, seolah-olah ia dipanggil secara eksplisit dengan:
test(10, 'glop', 'test');
Atas ialah kandungan terperinci Bagaimanakah anda boleh menghantar bilangan argumen yang berubah-ubah kepada fungsi PHP berdasarkan panjang tatasusunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!