PHP查询中人与距离的实现方法

这篇文章演示了在PHP查询附近的人员及其距离的实现:


< PHP
得到4分
$距离= 1; /范围(每公里)
113.873643美元;
液化天然气= 22.573969;
定义('earth_radius ',6371); / /地球的半径,6371km的平均半径
dlng美元= 2 * asin(sin($距离 /(2×earth_radius))/ COS(deg2rad($ LAT))));
dlng = rad2deg美元(美元dlng);
美元美元/ earth_radius檬=距离;
檬= rad2deg美元($ DLAT);
正方形阵列('left-top美元== >阵列('lat= > $ LAT + $檬,'lng= > $ LNG dlng美元),
右= >阵列('lat= > $ LAT + $檬,'lng= > $ LNG + $ dlng),
左下= >阵列('lat= > $ LAT至檬,'lng= > $ LNG dlng美元),
右下= >阵列('lat= > $ LAT至檬,'lng= > $ LNG + $ dlng)
);
print_r($平方{ 'left-top} { 'lat});
从数据库中查询匹配记录
info_sql美元=SELECT * FROM `一`在LAT <> 0、LAT > { { } { 'right-bottom美元广场'lat} }和{ $广场{ 'left-top LAT的} { } }和{ 'lng的LAT美元'} { { 'left-top广场'lng} }。
获取两点之间的距离
功能getdistancebetweenpointsnew(latitude1美元,longitude1美元美元美元,latitude2,longitude2){
美元美元美元longitude2 longitude1θ=;
$英里=(sin(deg2rad($ latitude1))*罪(deg2rad($ latitude2)))+(COS(deg2rad($ latitude1))* cos(deg2rad))));
$英里= acos($英里);
$英里= rad2deg($英里);
英里=英里$ * 60 * 1.1515;
脚=美元5280美元英里;
码= $英尺 3;
公里=英里$ 1.609344;
米=公里$ 1000;
返回的紧凑型('miles ','脚','yards ','kilometers ','meters);
}
点阵列('lat美元== 40.770623,= 73.964367);
2美元=阵列('lat'=40.758224,= 73.917404);
距离= getdistancebetweenpointsnew美元($点{ 'lat},{点元},{ 'lat 2美元},{2美元});
foreach(距离单位为美元美元美元值){
echo $单位。':'。number_format(美元价值,4);
}
>




有关感兴趣的读者的PHP相关内容的更多信息,请参见主题php站:数学技能摘要

希望本文能对PHP程序设计有所帮助。