2017-07-04 19 views
1

我有以下代碼:處理多個參數了在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); 

任何更好的解決方案的感謝。

+0

你想做什麼?請提供一個預期行爲的例子。 – msfoster

+0

$ a = array(15,12,13,25,27,36,18); $ b = array(1,1,1,1,1,1,1); //我想爲所有索引使用一個值而不是數組,即$ b = 1; ($ p,$ q){ return($ p + $ q); } $ c = array_map(「array_add」,$ a,$ b); – waqas

回答

0

您可以使用array_map因爲這一點,並use()

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

看一看array_walk

從你的榜樣通$參數2,這將是:

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

我也會建議你看看使用閉包提供的答案(use