2013-07-02 104 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