01 根据经纬度计算俩地距离

【PHP】根据经纬度获取两地距离,俩行代码教你根据数组字段进行排序 000_数据重组

这里可以直接计算出俩地之间的距离,参数都是先从纬度开始。单位是公里。

02 数据重组把距离跟标识存放在一起

首先我们需要知道的是计算出来的距离是需要跟一个唯一的标识一起存放的,每个项目不同,所以根据你们自己的需求进行更改即可。

【PHP】根据经纬度获取两地距离,俩行代码教你根据数组字段进行排序 000_数据重组_02

在上图中主要就是一个数据重组,在下图就是数据重组后的数据结构

【PHP】根据经纬度获取两地距离,俩行代码教你根据数组字段进行排序 000_数据_03

03 根据第二步组装的数据进行距离排序

在第二步的数据结构图中可以看到space这个子段的值就是根据俩地经纬度计算出来的结果值,接下来我们就需要根据这个space进行排序处理。

那么这个时候是不是脑子里就是冒泡排序,快速排序,各种排序都从脑子里蹦出来了。其实是不需要的,PHP在这块有自己的函数,也就是咱们的第4跟第5个方法。

【PHP】根据经纬度获取两地距离,俩行代码教你根据数组字段进行排序 000_PHP_04

【PHP】根据经纬度获取两地距离,俩行代码教你根据数组字段进行排序 000_PHP_05

04 关于array_column

根据第二步我们的数据显示,array_column这个方法的作用就是返回多维数组的某一个字段值

【PHP】根据经纬度获取两地距离,俩行代码教你根据数组字段进行排序 000_PHP_06

【PHP】根据经纬度获取两地距离,俩行代码教你根据数组字段进行排序 000_数据重组_07

05 关于array_multisort

这是他的参数使用

【PHP】根据经纬度获取两地距离,俩行代码教你根据数组字段进行排序 000_数据_08

项目使用,对比后可以看到是已经经过排序处理过了

【PHP】根据经纬度获取两地距离,俩行代码教你根据数组字段进行排序 000_PHP_04

【PHP】根据经纬度获取两地距离,俩行代码教你根据数组字段进行排序 000_数据_10