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

比较多维数组的参数并合并它们

比较多维数组的参数并合并它们

PHP
慕姐8265434 2022-11-12 13:52:15
我有 2 个多维数组 ( $sorted, $sorted_Rcv),参数为Account, Analyzed,Received和. 并且在不同的数组中,如下图所示。YearMonthReceivedAnalyzed我想要实现的是比较 2 个数组,如果Account,Month和Year相同,则合并它们,以便在一个对象中得到Account, Received, Analyzed,Month和Year。这是我目前的做法。我在哪里得到以下错误: Trying to access array offset on value of type int在 if 函数上。$merged_result = array();foreach ($sorted as $sorted) {    foreach ($sorted as $value1) {      foreach ($sorted_Rcv as $sorted_Rcv) {            foreach ($sorted_Rcv as $value2) {                if ($value1['Month'] == $value2['Month'] && $value1['Year'] == $value2['Year']) {                    $merged_result[]= ['Account' => $value1['Account'], 'Received' => $value2['Received'],'Analyzed' => $value1['Analyzed'],'Month' => $value1['Month'],'Year' => $value1['Year']];              }            }          }        }      }非常感谢任何形式的帮助!
查看完整描述

1 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

尝试使用下一个foreach循环:


$merged_result = array(); 


foreach($sorted as $subar1){

foreach($subar1 as $val){

    foreach($sorted_Rcv as $subar2){ 

    foreach($subar2  as $val2){

        if ($val['Year'] == $val2['Year'] && $val['Month'] == $val2['Month'] && $val['Account'] == $val2['Account']){

            $merged_result[] = [

                                'Year' => $val2['Year'],

                                'Month' => $val2['Month'],

                                'Account' => $val2['Account'],

                                'Analyzed' => $val['Analyzed'],

                                'Received' => $val2['Received'],

            ];

        }   

    }

    }

}

}


查看完整回答
反对 回复 2022-11-12
  • 1 回答
  • 0 关注
  • 56 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信