3v4l.org

run code in 300+ PHP versions simultaneously
<?php $latitude = '1234'; $longitude = '4567'; $items = [ ['name' => 'me', 'latitude' => '1234', 'longitude' =>'4567'], ['name' => 'you', 'latitude' => '2345', 'longitude' =>'5678'] ]; $ref = array($latitude, $longitude); $distances = array_map(function($item) use($ref) { $a = array_slice($item, -2); return distance($a, $ref); }, $items); asort($distances); function distance($a, $b) { list($lat1, $lon1) = $a; list($lat2, $lon2) = $b; $theta = $lon1 - $lon2; $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta)); $dist = acos($dist); $dist = rad2deg($dist); $miles = $dist * 60 * 1.1515; return $miles; }

preferences:
25.23 ms | 411 KiB | 5 Q