2013-07-02 66 views
1

我需要一个新的阵列组合2阵列计算PHP将两个数字阵列成一个阵列

$array1 = array(2,5,7,1); 

$array2 = array(1,3,2,5); 

结果数组应该出来把

$array3 = array(3,8,9,6); 

这可能在PHP我知道array_merge功能相结合×2个阵列但如何计算后结合

注:

这个我■在C#可能的,但我想知道我能做到这一点PHP作为以及

+1

其中是在第一阵列,其内容值1第三索引? – liyakat

+1

请编辑该问题(您给出的接缝的例子是错误的) – ncm

回答

6

如果他们保证在大小相匹配,那么你可以使用这样的事情

$array3 = array(); 

for($x =0; $x<count($array1); $x++){ 
    $array3[] = $array1[$x] + $array2[$x]; 
} 

如果数组不保证是你可以做同样的尺寸下

$array3 = array(); 
$max = max(count($array1), count($array2)); 
for($x =0; $x<$max; $x++){ 
    $array3[] = (isset($array1[$x])?$array1[$x]:0)) + (isset($array2[$x])?$array2[$x]:0)); 
} 

由于采用PHP 7和它的null coalesce operator这个代码变得更加可读:

$array3 = array(); 
$max = max(count($array1), count($array2)); 
for($x =0; $x<$max; $x++){ 
    $array3[] = ($array1[$x] ?? 0) + ($array2[$x] ?? 0); 
} 
+0

您击败了我! – 2013-07-02 04:34:32

+0

@Orangepill我的答案并不简单吗? – ncm

+0

感谢看起来这很容易比其他语言 –

4

为此,你必须使用foreach

<?php 
$array1 = array(2,5,7,1); 
$array2 = array(1,3,2,5); 
$array3= array(); 


foreach($array1 as $key=>$value) 
{ 
    $array3[$key] = $array1[$key]+$array2[$key]; 
} 

print_r($array3) 
?> 
+0

非常感谢你的PHP看起来很容易,这是更有趣的学习 –

+0

@ChamaraMadhushanka一切都很容易和有趣:) – alwaysLearn

+0

+1给你too.very好 – ncm