Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengira Jarak Antara Dua Kod Pos dalam PHP?

Bagaimana untuk Mengira Jarak Antara Dua Kod Pos dalam PHP?

DDD
Lepaskan: 2024-11-02 11:44:30
asal
468 orang telah melayarinya

How to Calculate the Distance Between Two Zip Codes in PHP?

Mengira Jarak Antara Kod Pos dalam PHP

Mengira jarak antara dua kod zip memerlukan mengakses pangkalan data yang mengandungi maklumat latitud dan longitud untuk setiap zip kod. Soalan ini meneroka cara untuk mengira jarak ini menggunakan data daripada jadual MySQL.

PENYELESAIAN

Penyelesaian yang dicadangkan memanfaatkan fungsi PHP untuk mengira jarak antara dua titik yang diberikan latitud dan longitud. Berikut ialah kodnya:

<code class="php">function calc_distance($point1, $point2)
{
    // Constants
    $radius       = 3958;      // Earth's radius (miles)
    $deg_per_rad  = 57.29578;  // Number of degrees/radian (for conversion)

    $distance = ($radius * pi() * sqrt(
        ($point1['lat'] - $point2['lat'])
        * ($point1['lat'] - $point2['lat'])
        + cos($point1['lat'] / $deg_per_rad)  // Convert to radians for cos()
        * cos($point2['lat'] / $deg_per_rad)  // Convert to radians for cos()
        * ($point1['long'] - $point2['long'])
        * ($point1['long'] - $point2['long'])
    ) / 180);

    return $distance;  // Returned using the units used for $radius.
}</code>
Salin selepas log masuk

PENGGUNAAN

Fungsi ini memerlukan dua titik data ($point1 dan $point2) sebagai parameter, setiap satu mengandungi latitud dan longitud sesuatu poskod. Jarak balik akan berada dalam unit yang sama seperti pemalar jejari yang disediakan (batu dalam kes ini).

Atas ialah kandungan terperinci Bagaimana untuk Mengira Jarak Antara Dua Kod Pos dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan