php 同个键名的值相加,如何把键值相同的合并,并且把键名的值相加,然后按照键名的值的大小形成一个新的数组,请高人指点。...

Array ( [615] => 赣州 [510] => 南昌 [485] => 九江 [375] => 南昌 [350] => 赣州 [295] => 九江 [280] => 九江 )

如何把键值相同的合并,并且把键名的值相加,然后按照键名的值的大小形成一个新的数组,请高人指点。

回复讨论(解决方案)

error_reporting(E_ALL ^ E_NOTICE);$a = array ( 615 => '赣州', 510 => '南昌', 485 => '九江', 375 => '南昌', 350 => '赣州', 295 => '九江', 280 => '九江' );foreach($a as $v=>$k) { $b[$k] += $v;}$b = array_flip($b);print_r($b);Array

(

[965] => 赣州

[885] => 南昌

[1060] => 九江

)

不写了,给你个思路

原数组A

array_value 或 arra_unique 提取值作为数组B

循环

原数组 array_intersect 和 B 的每一项求交集 C[i]

array_keys 求 C[i]的键,顺便sum C[i]

用C[i]和B对应生成数组,你在循环内做对应不难,排序输出

手快,有点误

原数组A

array_value 或 arra_unique 提取A的值作为数组B

循环

原数组 array_intersect 和 B 的每一项求交集 C[i]

array_keys 求 C[i]的键,顺便sum D[i]

用D[i]和B对应生成数组,你在循环内做对应不难,排序输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值