Heim > Backend-Entwicklung > PHP-Tutorial > 数组中对某项相同的值进行求和计算

数组中对某项相同的值进行求和计算

WBOY
Freigeben: 2016-06-20 12:45:02
Original
939 Leute haben es durchsucht

已知数组:

$arr = array(15) {  [0]=>  array(9) {    ["lppt"]=>    string(4) "LP1 "    ["fg_type"]=>    string(5) "ECU  "    ["customer_no"]=>    string(4) "A001"    ["etype1"]=>    string(3) "DIG"    ["RevDegree"]=>    string(2) "S "    ["item1"]=>    float(8810)    ["rs1"]=>    float(5787788.527)    ["item2"]=>    float(8928)    ["rs2"]=>    float(5865309.4176)  }  [1]=>  array(9) {    ["lppt"]=>    string(4) "LP1 "    ["fg_type"]=>    string(3) "ECU"    ["customer_no"]=>    string(4) "A001"    ["etype1"]=>    string(3) "MPI"    ["RevDegree"]=>    string(1) "B"    ["item1"]=>    float(0)    ["rs1"]=>    float(0)    ["item2"]=>    float(0)    ["rs2"]=>    float(0)  }  [2]=>  array(9) {    ["lppt"]=>    string(4) "LP1 "    ["fg_type"]=>    string(4) "ECU "    ["customer_no"]=>    string(4) "A001"    ["etype1"]=>    string(3) "MPI"    ["RevDegree"]=>    string(2) "S "    ["item1"]=>    float(63485)    ["rs1"]=>    float(23211270.7503)    ["item2"]=>    float(71973)    ["rs2"]=>    float(26689668.0654)  }  [3]=>  array(9) {    ["lppt"]=>    string(4) "LP1 "    ["fg_type"]=>    string(4) "ECU "    ["customer_no"]=>    string(4) "A002"    ["etype1"]=>    string(3) "MPI"    ["RevDegree"]=>    string(2) "S "    ["item1"]=>    float(4810)    ["rs1"]=>    float(2329072.60146)    ["item2"]=>    float(5855)    ["rs2"]=>    float(2783605.29921)  }  [4]=>  array(9) {    ["lppt"]=>    string(4) "LP1 "    ["fg_type"]=>    string(5) "ECU  "    ["customer_no"]=>    string(4) "A004"    ["etype1"]=>    string(3) "MPI"    ["RevDegree"]=>    string(2) "S "    ["item1"]=>    float(1716)    ["rs1"]=>    float(652004.847)    ["item2"]=>    float(1711)    ["rs2"]=>    float(647801.6757)  }[5]=>  array(9) {    ["lppt"]=>    string(4) "LP2 "    ["fg_type"]=>    string(3) "ECU"    ["customer_no"]=>    string(4) "A001"    ["etype1"]=>    string(3) "MPI"    ["RevDegree"]=>    string(1) "B"    ["item1"]=>    float(0)    ["rs1"]=>    float(0)    ["item2"]=>    float(0)    ["rs2"]=>    float(0)  }};
Nach dem Login kopieren


求当fg_type项相同时,针对item1,item2,rs1,rs2项的求和,并将求得的结果放在此数组后。


回复讨论(解决方案)

没人回答吗?

	$arr = array(		array('fg_type'=>'ECU1', 'item1'=>8810, 'rs1'=>5787788.527, 'item2'=>8928, 'rs2'=>5865309.4176),		array('fg_type'=>'ECU1', 'item1'=>0, 'rs1'=>0, 'item2'=>0, 'rs2'=>0),		array('fg_type'=>'ECU2', 'item1'=>63485, 'rs1'=>23211270.7503, 'item2'=>71973, 'rs2'=>26689668.0654),		array('fg_type'=>'ECU2', 'item1'=>4810, 'rs1'=>2329072.60146, 'item2'=>5855, 'rs2'=>2783605.29921),		array('fg_type'=>'ECU3', 'item1'=>1716, 'rs1'=>652004.847, 'item2'=>1711, 'rs2'=>647801.6757),		array('fg_type'=>'ECU3', 'item1'=>0, 'rs1'=>0, 'item2'=>0, 'rs2'=>0),	);		$new_arr = array(); 	for($i=0; $i<count($arr); $i++){		$arr[$i]['sum'] = $arr[$i]['item1'] + $arr[$i]['rs1'] + $arr[$i]['item2'] + $arr[$i]['rs2'];		$new_arr[$arr[$i]['fg_type']] = 0;	}		for($i=0; $i<count($arr); $i++){		if(array_key_exists($arr[$i]['fg_type'], $new_arr)){			$new_arr[$arr[$i]['fg_type']] += $arr[$i]['sum'];		}	}		array_push($arr,$new_arr);		echo '<pre class="brush:php;toolbar:false">';	print_r($arr);
Nach dem Login kopieren

测试结果应该没问题,不知道这么写好不好,凑合着看...

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage