为了账号安全,请及时绑定邮箱和手机立即绑定

php将一个多维数组与自身相加

php将一个多维数组与自身相加

PHP
慕田峪4524236 2022-10-28 14:55:40
我想将条目汇总到一个数组(动态数组,从数据库中获取的数据)并返回每个条目的总和。多维数组具有以下形状:<?php$sample = array("term_1_mid" => array("English" => 56,"Mathematics" => 34,"Creative Arts" => 87),"term_1_end" => array("English" => 67,"Mathematics" => 59,"Creative Arts" => 95));我想要做的是将“term_1_mid”中的样本数组的值添加到“term_1_end”中相同样本数组的值中......所以得到的求和输出应该是这样的:<?php$result = array("English" => 123, // 56 + 67 from above"Mathematics" => 93, // 34 + 59"Creative Arts" => 182 // 87 + 95);有什么办法可以做到这一点?我尝试了以下代码,但它似乎不起作用:<?php$final_score = [];array_push($final_score, array_map(function($arr, $arr1) {return $arr + $arr1;}, $sample["term_1_mid"], $sample["term_1_end"]));print_r($final_score);
查看完整描述

2 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

这是问题的解决方案。


    <?php

    $sample = array(

          "term_1_mid" => array(

               "English" => 56,

               "Mathematics" => 34,

               "Creative Arts" => 87),

          "terrm_1_end" => array(

               "English" => 67,

               "Mathematics" => 59,

               "Creative Arts" => 95)

          );


     # Initializing array to store the result

     $output_array = array();


     # Loop for adding the values

     foreach($sample as $sample_key => $sample_value){

         foreach ($sample_value as $key => $value){

             $output_array[$key] += $value;

         }

     }


     # To check the data in array

     foreach($output_array as $key => $value){

         # used br tag only to show the each values in each line

         echo $key . " => ". $value . "<br>";

     }

     ?>

输出 :


English => 123

Mathematics => 93

Creative Arts => 182


查看完整回答
反对 回复 2022-10-28
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

这是一个演示


$sample = array(

"term_1_mid" => array(

"English" => 56,

"Mathematics" => 34,

"Creative Arts" => 87),

"terrm_1_end" => array(

"English" => 67,

"Mathematics" => 59,

"Creative Arts" => 95)

);


$arrSum =[];

foreach($sample as $term=>$termname){

    foreach($termname as $sub=>$mark){

        if(!isset($arrSum[$sub])){$arrSum[$sub] = 0;}

        $arrSum[$sub] += $mark;

    }

}

print_r($arrSum);


查看完整回答
反对 回复 2022-10-28
  • 2 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号