PHP可选动态函数参数

时间:2016-11-09 12:50:27

标签: php

我们如何定义具有2或3个参数的动态函数。例如,如果我们有这样的函数:

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

和另一个功能如:

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

并且它们都是动态的,所以我们不知道将调用哪一个,我们如何定义动态方法来处理这两种情况!我们可以使用if else:

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

但PHP有另一种处理方法吗? (不使用条件)

1 个答案:

答案 0 :(得分:0)

选项一是将可选参数设置为null:

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

如前所述,您可以稍微改变您的功能并传递数组

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

然后在你的功能中:

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

重复所有预期参数。