PHP:获取具有相同变量名

时间:2016-09-14 10:24:01

标签: php arrays

我知道要获得两个数组的总和,但这个不同,我不能再采取了,我有一个循环,值来自数据库。我的代码循环的实际迭代是两次因为它是嵌套的,我的意思是它循环两次或者它取决于我的数据但是现在它只有两次并且值彼此不同。

 while(){....       

 //nested loop

 $array = array();
 while($row = mysql_fetch_assoc($query)){ //<--Looping twice but different values
     array_push($array , number_format((float)$row ['total'],2,'.',''));
 }

 foreach($array as key => value){
     echo $value . "<br/>";
 }


 {.....

 //the values of loop that i fetch
 //first <-- $array
  97.00 <-- 0 key
  92.67 <-- 1 key
  72.33 <-- 2 key
  49.67 <-- 3 key
  25.00 <-- 4 key
  25.00 <-- 5 key

 //Second <-- $array     
  99.67 <-- 0 key
  97.33 <-- 1 key
  47.67 <-- 2 key
  25.00 <-- 3 key
  25.00 <-- 4 key
  25.00 <-- 5 key

 //The first and second are same variable name $array but its values are different

但是,如果我在循环外显示$ array的值,它只显示第一个

 97.00 <-- 0 key
 92.67 <-- 1 key
 72.33 <-- 2 key
 49.67 <-- 3 key
 25.00 <-- 4 key
 25.00 <-- 5 key

如何获得第一个和第二个数组的总和并获得结果

 196.67
 190.00
 119.33
 74.67
 50.00
 50.00

1 个答案:

答案 0 :(得分:0)

这应该有效:

$i = 0;
$sumArray = array();
while($row = mysql_fetch_assoc($query)) { 
  //calculate the total and push it in the array.
  $total = $array[$i] + number_format((float)$row ['total'],2,'.','');
  array_push($sumArray, $total); 
  array_push($array , number_format((float)$row ['total'],2,'.',''));
  $i++;
}

print_r($sumArray); //this should give you the total array.