使用一个多维关联数组对另一个多维数组进行计数或求和

SVL

我有两个具有相同键的多维关联数组。我需要根据另一个数组的需求计算/求和一个数组中的特定值。

我尝试了嵌套的foreach循环,但无法获取请求的结果。我已经尽我所能搜索了互联网,但没有成功。

这是我的代码无法按要求工作:

foreach ($b as $key => $value) {
  foreach ($a as $skey => $svalue) {
    if ($key == $skey) {
      foreach ($svalue[Season] as $ssvalue) {
        if ($value[Appearance] == $ssvalue) {
          $c[$key]['SeasonAppearances'][] = count($value[Appearance]);
        }
      }
    }
  }
}

第一个数组(提取)/ $ a

$a = Array ( 
        [Paul] => Array ( 
                [Season] => Array ( 
                        [0] => 2014 
                        [1] => 2015 
                        [2] => 2016 
                        ) 
                ) 
        [John] => Array ( 
                [Season] => Array ( 
                        [0] => 2012 
                        ) 
                ) 
    )

第二数组(提取)/ $ b

$b = Array ( 
        [Paul] => Array ( 
                [Appearance] => Array ( 
                            [0] => 2014 
                            [1] => 2014 
                            [2] => 2014 
                            [3] => 2014 
                            [4] => 2014 
                            [5] => 2014 
                            [6] => 2014 
                            [7] => 2014 
                            [8] => 2015 
                            [9] => 2015 
                            [10] => 2015 
                            ) 
                ) 
        [John] => Array ( 
                [Appearance] => Array ( 
                            [0] => 2012 
                            [1] => 2012 
                            [2] => 2012 
                            [3] => 2012 
                            ) 
                ) 
        )

请求的结果数组/ $ c

$c = Array ( 
        [Paul] => Array ( 
            [SeasonCounts] => Array ( 
                        [0] => 8 
                        [1] => 3 
                        [2] => 0 
                        ) 
            ) 
        [John] => Array ( 
            [SeasonCounts] => Array ( 
                        [0] => 4 
                        ) 
            ) 
    )

我想计算$ a中每个季节每个人与每个人匹配的出现次数,并创建结果数组。请注意,保罗在2016年没有出场。

蓝色的

这应该像您想要的那样计数

$c = array();
$helper = array();
foreach ($b as $key => $value) {

    $c[$key] = array();
    $c[$key]["SeasonCount"] = array();
    $helper[$key] = array();
    foreach ($value["Appearance"] as $key1 => $value1) {

        $position = array_search($value1, $helper[$key]);
        if (false !== $position) {
            $c[$key]["SeasonCount"][$position]++;
        } else {
            $helper[$key][] = $value1;
            $c[$key]["SeasonCount"][] = 1;
        }

    }}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何创建一个复杂的多维关联数组?

从另一个多维数组创建多维

Php将多维数组中的多个值与另一个多维数组进行比较

使用另一个数组对多维数组进行排序

使用另一个多维数组更新多维数组值而不使用任何循环

javascript将一个多维数组推入另一个多维数组

将两个关联数组转换为一个多维数组PHP

来自另一个矩阵的多维数组

根据另一个关联数组制作关联数组

基于另一个关联数组制作关联数组

PHP 多维数组包含另一个多维数组的所有子数组

创建多维数组,然后将每个多维数组推入另一个数组

如何在一个数组中获取多维关联数组键?

PHP,从多维数组中的多个关联数组中回显一个特定值

将多维数组中的值与另一个数组的索引进行比较

使用另一个数组作为键创建关联数组

寻找一种方式来构建一个多维,多层,关联数组

使用第一个元素作为键将索引多维数组转换为关联数组

如何根据另一个多维数组数据结果搜索多维数组数据

javascript - 从另一个多维数组创建多维数组

如何根据另一个多维排除数组过滤多维数组?

将多维数组插入另一个多维数组

从另一个多维数组向多维数组添加键

使用 array_filter 用另一个数组过滤多维数组

PHP:使用数组获取另一个多维数组中的值

使用现有键的另一个数组更新多维数组

如何使用另一个Numpy数组设置多维Numpy数组的单个元素?

在PHP中使用另一个数组构建多维数组

如何使用另一个 numpy 数组索引多维 numpy 数组