Php 对数组中的特定变量进行计数

Php 对数组中的特定变量进行计数,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有两个不同的阵列: $dep = Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 2 [4] => 3 [5] => 3 ) 及 我把它放在一个数组中: $arr = array($dep, $q1_a); 然后我得到: Array ( [0] => Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 2 [4] => 3 [5] => 3 )

我有两个不同的阵列:

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

我把它放在一个数组中:

$arr = array($dep, $q1_a);
然后我得到:

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 ) )
如何汇总第二个数组中与第一个数组中的特定数字匹配的变量。所以我需要找到第一个数组有1,2和3的数字之和。得到3个不同的数字

因此,第一个数字将是:

[0] => 1 [1] => 1 [2] => 1
[0] => 4 [1] => 4 [2] => 4 
4+4+4=12
第二:

[3] => 2
[3] => 2
2
第三:

[4] => 3 [5] => 3
[4] => 4 [5] => 2
4+2=6
我该怎么做呢?

试试这个

$cur\u index=null;
$result=[];
$j=0;
对于($i=0;$i<长度($dep);$i++){
如果($cur_index==null){
$result[$j]=$q1_a[$i];
$cur_index=$dep[i];
}
else if($cur_index==$dep[$i]){
$result[$j]+=$q1\u a[$i]
}
否则{
$cur_index=$dep[i];
$result[+$j]+=$q1_a[$i];
}   
} 
希望这项工作和这个语法可能不正确

[4] => 3 [5] => 3
[4] => 4 [5] => 2
4+2=6
<?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);
$cur_index = null;  
$result = [];
$j = 0;
for ( $i = 0; $i < length($dep); $i++) {  
  if ($cur_index == null){ 
    $result[$j] = $q1_a[$i];
    $cur_index = $dep[i];
  }
  else if ($cur_index == $dep[$i]) {
    $result[$j] += $q1_a[$i]
  }
  else {
    $cur_index = $dep[i];
    $result[++$j] += $q1_a[$i];
  }   
}