处理array_map中的多个参数回调

时间:2017-07-04 07:10:37

标签: php arrays array-map

我有以下代码:

$a=array(15,12,13,25,27,36,18);
$b=array(1,1,1,1,1,1,1);//is it possible to pass only one value=1, instead of array containing seven 1's
// expectation: $b = array(1); or $b= 1; 
//instead of $b=array(1,1,1,1,1,1,1);

function array_add($p,$q){
   return($p+$q);
}
$c=array_map("array_add",$a,$b);

我想要类似的东西:

$a=array(15,12,13,25,27,36,18);
$b=array(1);

function array_add($p,$q){
   return($p+$q);
}
$c=array_map("array_add",$a,$b);

感谢任何更好的解决方案。

2 个答案:

答案 0 :(得分:0)

您可以使用array_map,并使用use()

传递$ param2
array_map(function($v) use($param2){
    //do something
}, $input);

答案 1 :(得分:0)

查看array_walk

从您的示例中,它将是:

function array_add( &$item, $key, $toAdd) { 
   $item+=$toAdd;
}
array_walk($a, 'array_add', 1);

我还建议您查看使用闭包(use

提供的答案