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 ))
里面的经纬度有重复的数据,想过滤掉重复数据,并且得到每一个相同经纬度的数量。最后得到的数组如下:
这个要怎么实现呢?
回复讨论(解决方案) $ar = 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', ),);$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
)
) 贴出经var_export(); 输出后的数组出来