PHP按province_code合并数组:合并tax_year字段方法咨询
PHP按省份代码分组合并纳税年度数组实现方案
没问题,我来给你搞定这个PHP数组分组合并的需求!核心思路就是以province_code作为分组标识,把同一省份下的tax_year字段收集成一个数组,其他字段保持不变(默认同一省份的其他字段值一致,如果有特殊情况可以再调整)。
具体实现代码
假设你的原数组是$originalArray,直接用这段代码就能得到目标数组:
// 初始化结果数组 $result = []; // 遍历原数组进行分组处理 foreach ($originalArray as $item) { $provinceCode = $item['province_code']; // 如果当前省份还未在结果数组中,先初始化分组 if (!isset($result[$provinceCode])) { // 复制当前项的所有字段,并将tax_year转为数组格式 $result[$provinceCode] = $item; $result[$provinceCode]['tax_year'] = [$item['tax_year']]; } else { // 若分组已存在,直接追加当前tax_year到数组中 $result[$provinceCode]['tax_year'][] = $item['tax_year']; } } // 可选:如果需要将结果转为索引数组(而非以province_code为键的关联数组) $result = array_values($result);
额外优化说明
- 如果担心同一省份下出现重复的
tax_year,可以在追加后用array_unique()去重:$result[$provinceCode]['tax_year'] = array_unique($result[$provinceCode]['tax_year']); - 如果同一
province_code对应的其他字段有不同值,你可以根据需求调整逻辑,比如保留第一个出现的值、合并所有值,或者覆盖为最新值,具体看业务场景。
内容的提问来源于stack exchange,提问作者Phouvanh Kongchansavath
相关产品推荐
相关产品推荐

