調用具有可變數量參數的PHP 函數
處理接受可變數量參數的PHP 函數時,參數數量傳遞給函數的參數可以根據數組的長度來決定。為了實現這一點,PHP 提供了幾種技術:
call_user_func_array
如果參數儲存在陣列中,則可以使用 call_user_func_array 函數。此函數接受一個陣列作為其第二個參數,其中包含函數參數。
範例:
function test() { var_dump(func_num_args()); var_dump(func_get_args()); } $params = [ 10, 'glop', 'test', ]; call_user_func_array('test', $params);
這段程式碼將會輸出:
int 3 array 0 => int 10 1 => string 'glop' (length=4) 2 => string 'test' (length=4)
for Loop
另一個選項是使用for 循環迭代數組並將每個元素作為參數傳遞給函數。
範例:
function test($num1, $str1, $str2) { var_dump(func_get_args()); } $params = [ 10, 'glop', 'test', ]; for ($i = 0; $i這段程式碼將會輸出:
array(1) { [0] => int 10 } array(1) { [0] => string 'glop' (length=4) } array(1) { [0] => string 'test' (length=4) }透過利用這些技術,您可以根據陣列的長度有效地呼叫具有可變數量參數的 PHP 函數。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3