有这样一个数组:
Array
(
[0] => Array
(
[time] => 1382060855000
[day] => 2013-10-18
[latitude] => 39.9289
[longitude] => 116.3883
) [1] => Array
(
[time] => 1382060855000
[day] => 2013-10-18
[latitude] => 42
[longitude] => 43.5
) [2] => Array
(
[time] => 1382060855000
[day] => 2013-10-18
[latitude] => 38.9122
[longitude] => 121.6022
) [3] => Array
(
[time] => 1382060855000
[day] => 2013-10-18
[latitude] => 40.5525
[longitude] => -74.2915
) [4] => Array
(
[time] => 1382060855000
[day] => 2013-10-18
[latitude] => 40.5525
[longitude] => -74.2915
) [5] => Array
(
[time] => 1382060855000
[day] => 2013-10-18
[latitude] => 38.9122
[longitude] => 121.6022
) [6] => Array
(
[time] => 1382060855000
[day] => 2013-10-18
[latitude] => 38.9122
[longitude] => 121.6022
)
)
里面的经纬度有重复的数据,想过滤掉重复数据,并且得到每一个相同经纬度的数量。最后得到的数组如下:
这个要怎么实现呢?php数组
Array
(
[0] => Array
(
[time] => 1382060855000
[day] => 2013-10-18
[latitude] => 39.9289
[longitude] => 116.3883
) [1] => Array
(
[time] => 1382060855000
[day] => 2013-10-18
[latitude] => 42
[longitude] => 43.5
) [2] => Array
(
[time] => 1382060855000
[day] => 2013-10-18
[latitude] => 38.9122
[longitude] => 121.6022
) [3] => Array
(
[time] => 1382060855000
[day] => 2013-10-18
[latitude] => 40.5525
[longitude] => -74.2915
) [4] => Array
(
[time] => 1382060855000
[day] => 2013-10-18
[latitude] => 40.5525
[longitude] => -74.2915
) [5] => Array
(
[time] => 1382060855000
[day] => 2013-10-18
[latitude] => 38.9122
[longitude] => 121.6022
) [6] => Array
(
[time] => 1382060855000
[day] => 2013-10-18
[latitude] => 38.9122
[longitude] => 121.6022
)
)
里面的经纬度有重复的数据,想过滤掉重复数据,并且得到每一个相同经纬度的数量。最后得到的数组如下:
这个要怎么实现呢?php数组
0 =>
array (
'time' => '1382060855000',
'day' => '2013-10-18',
'latitude' => '39.9289',
'longitude' => '116.3883',
),
1 =>
array (
'time' => '1382060855000',
'day' => '2013-10-18',
'latitude' => '42',
'longitude' => '43.5',
),
2 =>
array (
'time' => '1382060855000',
'day' => '2013-10-18',
'latitude' => '38.9122',
'longitude' => '121.6022',
),
3 =>
array (
'time' => '1382060855000',
'day' => '2013-10-18',
'latitude' => '40.5525',
'longitude' => '-74.2915',
),
4 =>
array (
'time' => '1382060855000',
'day' => '2013-10-18',
'latitude' => '40.5525',
'longitude' => '-74.2915',
),
5 =>
array (
'time' => '1382060855000',
'day' => '2013-10-18',
'latitude' => '38.9122',
'longitude' => '121.6022',
),
6 =>
array (
'time' => '1382060855000',
'day' => '2013-10-18',
'latitude' => '38.9122',
'longitude' => '121.6022',
),
);
$res = array();
foreach($ar as $v) {
$k = $v['latitude'] . ',' . $v['longitude'];
if(isset($res[$k])) $res[$k]['count']++;
else $res[$k] = array('latitude' => $v['latitude'], 'longitude' => $v['longitude'], 'count' => 1);
}
print_r(array_values($res));
Array
(
[0] => Array
(
[latitude] => 39.9289
[longitude] => 116.3883
[count] => 1
) [1] => Array
(
[latitude] => 42
[longitude] => 43.5
[count] => 1
) [2] => Array
(
[latitude] => 38.9122
[longitude] => 121.6022
[count] => 3
) [3] => Array
(
[latitude] => 40.5525
[longitude] => -74.2915
[count] => 2
))