dsu5188 2017-06-12 01:56
浏览 15

计算数组中的特定变量

I have two different arrays:

$dep = Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 2 [4] => 3 [5] => 3 )

and

$q1_a = Array ( [0] => 4 [1] => 4 [2] => 4 [3] => 2 [4] => 4 [5] => 2 )

I put it in one array:

$arr = array($dep, $q1_a);

And then I got:

Array ( 
[0] => Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 2 [4] => 3 [5] => 3 ) 
[1] => Array ( [0] => 4 [1] => 4 [2] => 4 [3] => 2 [4] => 4 [5] => 2 ) )

How can I summarize variables of second array where it matches specific number in first. So I need to find sum of numbers where first array has 1,2 and 3. And to get 3 different numbers.

so first number will be:

[0] => 1 [1] => 1 [2] => 1
[0] => 4 [1] => 4 [2] => 4 
4+4+4=12

second:

[3] => 2
[3] => 2
2

third:

[4] => 3 [5] => 3
[4] => 4 [5] => 2
4+2=6

How can I do that?

  • 写回答

2条回答 默认 最新

  • doumei8126 2017-06-12 02:12
    关注

    Try this, live demo.

    <?php
    $dep = [1,1,1,2,3,3];
    $q1_a = [4,4,4,2,4,2];
    
    $flag = current($dep);
    $result = [0];
    foreach($dep as $k => $v){
      if($flag == $v) {
        $val = end($result);
        $result[key($result)]= $val + $q1_a[$k];
      }
      else
        $result[] = $q1_a[$k];
      $flag = $v;
    }
    print_r($result);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 echarts动画效果失效的问题。官网下载的例子。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加