2016-11-07 52 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);