对多维数组中的特定值求和(php)
我得到了一个这样的多维数组:
I got a multidimensional array like this:
Totalarray
(
[0] => Array
(
[city] => NewYork
[cash] => 1000
)
[1] => Array
(
[city] => Philadelphia
[cash] => 2300
)
[2] => Array
(
[city] => NewYork
[cash] => 2000
)
)
我想对获得相同值[city]的子数组的值[cash]求和,得到一个这样的数组:
and I'd like to sum the value [cash] of the sub-arrays who got the same value[city] and obtain an array like this:
Totalarray
(
[0] => Array
(
[city] => NewYork
[cash] => 3000
)
[1] => Array
(
[city] => Philadelphia
[cash] => 2300
)
)
我该怎么做?
推荐答案
试试下面的代码:
<?php
$arr = array(
array('city' => 'NewYork', 'cash' => '1000'),
array('city' => 'Philadelphia', 'cash' => '2300'),
array('city' => 'NewYork', 'cash' => '2000'),
);
$newarray = array();
foreach($arr as $ar)
{
foreach($ar as $k => $v)
{
if(array_key_exists($v, $newarray))
$newarray[$v]['cash'] = $newarray[$v]['cash'] + $ar['cash'];
else if($k == 'city')
$newarray[$v] = $ar;
}
}
print_r($newarray);
输出:
Array
(
[NewYork] => Array
(
[city] => NewYork
[cash] => 3000
)
[Philadelphia] => Array
(
[city] => Philadelphia
[cash] => 2300
)
)
演示:
http://3v4l.org/D8PME
相关文章