Heim  >  Artikel  >  Backend-Entwicklung  >  [伸手党]求个function,传入一个规律的二维数组,每个子数组都是键名相同的数组,键值都是整数,返回结果是二维数组多了一个子数组,是每个子数组的求和结果

[伸手党]求个function,传入一个规律的二维数组,每个子数组都是键名相同的数组,键值都是整数,返回结果是二维数组多了一个子数组,是每个子数组的求和结果

WBOY
WBOYOriginal
2016-06-23 13:56:25833Durchsuche

如题

举例:

传入 array(0=>array(a=>2,b=>6),1=>array(a=>5,b=>7));

得到结果是 array(0=>array(a=>2,b=>6),1=>array(a=>5,b=>7),2=>array(a=>7,b=>11));

工期紧 能省一点时间是一点, 伸手求一次...


回复讨论(解决方案)

$ar = array(  array( 'a' => 2, 'b' => 6),  array( 'a' => 5, 'b' => 7),);$t = array();foreach($ar as $r) {  foreach($r as $k=>$v) @$t[$k] += $v;}$ar[] = $t;print_r($ar);
Array(    [0] => Array        (            [a] => 2            [b] => 6        )    [1] => Array        (            [a] => 5            [b] => 7        )    [2] => Array        (            [a] => 7            [b] => 13        ))

感谢版大~~~

$ar = array(  array( 'a' => 2, 'b' => 6),  array( 'a' => 5, 'b' => 7),);$t = call_user_func_array('array_map', array_merge(array(null),$ar));$t = array_map('array_sum', $t);$t = array_combine(array_keys($ar[0]), $t);$ar[] = $t;print_r($ar);

Stellungnahme:
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
Vorheriger Artikel:网页模块的添加Nächster Artikel:php Laravel 框架之分页