2016-11-09 45 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

很有帮助,谢谢。 –