3v4l.org

run code in 300+ PHP versions simultaneously
<?php function destinationPoint($lat, $lng, $brng, $dist) { $rad = 6371; // earths mean radius $dist = $dist/$rad; // convert dist to angular distance in radians $brng = deg2rad($brng); // conver to radians $lat1 = deg2rad($lat); $lon1 = deg2rad($lng); $lat2 = asin(sin($lat1)*cos($dist) + cos($lat1)*sin($dist)*cos($brng) ); $lon2 = $lon1 + atan2(sin($brng)*sin($dist)*cos($lat1),cos($dist)-sin($lat1)*sin($lat2)); $lon2 = fmod($lon2 + 3*M_PI, 2*M_PI) - M_PI; // normalise to -180..+180ยบ $lat2 = rad2deg($lat2); $lon2 = rad2deg($lon2); echo "lat = ".$lat2."\n"; echo "lon = ".$lon2."\n\n"; } $lat = 0; $lng = 0; $dist = 1; // km $n = 12; $bearings = range(0, 360-(360/$n) , 360/$n); // create array of all bearings needed from $lat/$lng foreach($bearings as $brng){ echo $brng ."\n"; destinationPoint($lat, $lng, $brng, $dist); }
Output for git.master, git.master_jit, rfc.property-hooks
0 lat = 0.0089932160591873 lon = 0 30 lat = 0.0077883535609834 lon = 0.0044966080572905 60 lat = 0.0044966080157459 lon = 0.0077883535850179 90 lat = 5.5067566078507E-19 lon = 0.008993216059214 120 lat = -0.0044966080157459 lon = 0.0077883535850179 150 lat = -0.0077883535609834 lon = 0.0044966080572905 180 lat = -0.0089932160591873 lon = 0 210 lat = -0.0077883535609834 lon = -0.0044966080572905 240 lat = -0.0044966080157459 lon = -0.0077883535850179 270 lat = -1.6520269823552E-18 lon = -0.008993216059214 300 lat = 0.0044966080157459 lon = -0.0077883535850179 330 lat = 0.0077883535609834 lon = -0.0044966080572905

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
18.73 ms | 402 KiB | 8 Q