2016-11-07 53 views
0

薩姆的各個列3個不同的陣列總和3個不同陣列

的各個列我需要總結各個列

$a = [1,2,3,4]; 
$b = [5,6,8,7]; 
$c = [10,11,4,70]; 

的輸出將是這樣的陣列..

$d = [(1+5+10),(2+6+11),(3+8+4),(4+7+70)]; 

那麼$ d將會

$d = [16,19,15,81]; 
+1

你有什麼問題嗎? – Blueblazer172

+0

聽起來像一個功課問題。 – arkascha

+2

你甚至嘗試過什麼嗎? –

回答

1

下面是代碼:

$a = [1,2,3,4]; 
$b = [5,6,8,7]; 
$c = [10,11,4,70]; 
$limit = count($a); 
$d = array(); 
for($i=0;$i<$limit;$i++){ 
    $d[] = $a[$i]+$b[$i]+$c[$i]; 
} 
var_dump($d);//array(16,19,15,81) 

我希望它能幫助

+0

請注意只能使用count()函數一次,然後使用$ limit var for for循環。在其他答案中,for循環中使用了:sizeof()函數,它將減慢進程,因爲sizeof()將每次循環執行以循環繼續。在循環條件中使用諸如count()或sizeof()之類的函數是一種不好的做法。 – Learner

0
$a = [1,2,3,4]; 
$b = [5,6,8,7]; 
$c = [10,11,4,70]; 
$res = []; 

for($i=0;$i<sizeof($a);$i++) 
{ 
    $res[$i]=$a[$i]+$b[$i]+$c[$i]; 
} 
+0

循環條件中使用諸如count()或sizeof()之類的函數是一種不好的做法。使用它們將值存儲在某個變量中,然後將該變量用於循環條件,否則會減慢該過程。 – Learner

0

你可以嘗試這樣的

$a = [1,2,3,4]; 
 
$b = [5,6,8,7]; 
 
$c = [10,11,4,70]; 
 
$myArray = array($a, $b, $c); 
 

 
$sumArray = array(); 
 

 
foreach ($myArray as $k=>$subArray) { 
 
    foreach ($subArray as $id=>$value) { 
 
    $sumArray[$id]+=$value; 
 
    } 
 
} 
 

 
print_r($sumArray);