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

再看我一眼 2014-05-28 04:31:19
如题

举例:

传入 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));

工期紧 能省一点时间是一点, 伸手求一次...
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2014-05-28
  • 打赏
  • 举报
回复
為何结果是 array(0=>array(a=>2,b=>6),1=>array(a=>5,b=>7),2=>array(a=>7,b=>11)); b=>6 b=>7 應該是13吧 看標題看得暈暈得,一看舉例就明了。
xuzuning 2014-05-28
  • 打赏
  • 举报
回复
$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);

再看我一眼 2014-05-28
  • 打赏
  • 举报
回复
感谢版大~~~
xuzuning 2014-05-28
  • 打赏
  • 举报
回复
$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
        )

)

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧