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种方法可以做任何事情。谢谢,第一种方法就是我想要的。