2016-11-09 65 views
1

我們如何定義一個帶有2或3個參數的動態函數。例如,如果我們有這樣的功能:PHP可選動態函數參數

function required($value, $fieldname){}; 

和像另一個功能:

function min($value, $fieldname, $min){}; 

,他們都是動態的,所以我們不知道哪一個會被調用,我們怎麼能定義一個動態方法來處理這兩種情況!我們可以使用如果其他方式是這樣的:

if(isset($min)) 
{ 
    return $functionName($value, $fieldname, $min); 
} else { 
    return $functionName($value, $fieldname); 
} 

但是PHP中有沒有另一種方法來處理這個問題? (不使用條件)

+0

函數需要($ value = null,$ fieldname = null,$ min = null){};' – Blinkydamo

+0

是否足夠?因爲我不需要任何第三個參數在所需的功能? –

+0

@Blinkydamo是正確的,但我只會給最後一個參數一個默認值,因爲函數可能沒有參數。 – bassxzero

回答

0

選項之一是可選的paraments設置爲null:

function required($value, $fieldname, $min = null){}; 

由於還說你可以改變你的函數一點,並傳遞一個數組

$array = array('value' => 'value', 'min' => 'min'); 
function required($array); 

內。然後您的功能:

extract($array); 
if(isset($value)) 
{ 
    // Process 
} 

重複所有預期參數。

+0

很有幫助,謝謝。 –