Php 使用数组作为参数创建函数不适用于我

Php 使用数组作为参数创建函数不适用于我,php,function,parameter-passing,Php,Function,Parameter Passing,简而言之,我有一个如下函数: function plus($x, $y){ echo $x+$y; } $parms = array(20,10); plus($parms); $parms = array(20,10); $func_params = implode(',', $parms); plus($func_params); 我想告诉函数它的参数是数组,如下所示: function plus($x, $y){ echo $x+$y; } $parms = array

简而言之,我有一个如下函数:

function plus($x, $y){
   echo $x+$y;
}
$parms = array(20,10);
plus($parms);
$parms = array(20,10);
$func_params = implode(',', $parms);
plus($func_params);
我想告诉函数它的参数是数组,如下所示:

function plus($x, $y){
   echo $x+$y;
}
$parms = array(20,10);
plus($parms);
$parms = array(20,10);
$func_params = implode(',', $parms);
plus($func_params);
但不幸的是,这不起作用。 我厌倦了使用另一种方式,如下所示:

function plus($x, $y){
   echo $x+$y;
}
$parms = array(20,10);
plus($parms);
$parms = array(20,10);
$func_params = implode(',', $parms);
plus($func_params);
也不起作用,并给我错误信息:
警告:在..中调用的plus()缺少参数2

现在,我感到困惑。
我能做些什么才能工作?

您需要调整您的函数,使其只接受一个参数,然后在函数本身中,您可以处理该参数:

非常简单的例子:

function plus($arr){
   echo $arr[0]+$arr[1];
}

$parms = array(20,10);
plus($parms);
您可以轻松地调整它,使其在所有元素中循环,检查输入等。

嘿?错误信息非常清楚:在函数中要求两个参数,但只提供一个

如果要传递数组,它将是单个变量

function plus($array){
    echo ($array[0]+$array[1]);
}
$test = array(1,5);
plus($test); //echoes 6
使用以下命令:

function plus($arr){
   $c = $arr[0]+$arr[1];
   echo $c;
}
您可以调用以下命令:

$parms = array(20,10);
plus($parms);

你可以做几件事。 首先,为了维护您的函数定义,您可以使用。我觉得这很难看

call_user_func_array('plus', $parms);
通过采用数量可变的参数,可以使函数更加健壮:

function plus(){
  $args = func_get_args();
  return $args[0] + $args[1];
}
您只需接受一个数组并将所有内容相加即可:

function plus($args){
  return $args[0] + $args[1];
}
或者你可以总结所有的论点:

function plus($args){
  return array_sum($args);
}

这是PHP,有10种方法可以做任何事情。

谢谢,第一种方法就是我想要的。