如何通过我的位置PHP对坐标数组进行排序

迈克·弗里西斯

我有我所在位置的坐标,并且我想从我的位置的最近到更远的位置对数据库的坐标进行排序。这是我获取并保存坐标的代码:

$myXCoor = 37.9730328;
$myYCoor = 23.7533623;
$xcoor = array();
$ycoor = array();
    $result = mysqli_query($con, "SELECT * FROM `base`.`table` ;");

      while($row = mysqli_fetch_array($result, MYSQLI_BOTH))
         {

               $xcoor[] = $row['x'];
               $ycoor[] = $row['y'];

         }

我真的不怎么继续,如果有人想要更多详细信息,请发表评论。

提前致谢

2oppin

您可以通过添加顺序在SQL中完成此操作:

$myXCoor = 37.9730328;
$myYCoor = 23.7533623;
$xcoor = array();
$ycoor = array();
$order = "order by pow((t.x - $myXCoor),2) + pow((t.y - $myYCoor),2);";
$result = mysqli_query($con,"SELECT * FROM `base`.`table` t $order");

或者您可以使用usort:

$result = mysqli_query($con, "SELECT * FROM `base`.`table` ;");
$result = mysqli_fetch_all($result, MYSQL_BOTH);
usort($result, function($a,$b) use ($myXCoor,$myYCoor){
   return pow($a['x'] - $myXCoor, 2) + pow($a['y'] - $myYCoor, 2)
        > pow($b['x'] - $myXCoor, 2) + pow($b['y'] - $myYCoor, 2) ? 1 : -1;
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据图像中的蛇形对坐标进行排序?

我如何按时间戳值对坐标进行分组

对坐标向量进行排序C ++

通过彼此接近来对坐标进行分组

如何在javascript中通过升序对我的数组进行排序

如何通过嵌套对象属性对 PHP 对象数组进行排序?

如何通过PHP对日期数组进行排序?

jQuery位置给出绝对坐标而不是相对坐标

递归合并排序 - 从原点按升序对坐标进行排序

如何通过值比较对数字数组进行排序并更改数组索引的位置

通过PHP数组对CSV数据进行排序

对坐标进行排序以创建多边形会产生混乱的结果

如何按与坐标和模型的距离对数组进行排序

在Python中按位置有效地对坐标点列表进行分组

如何通过nextTriggerDate对UNNotificationRequests数组进行排序

PHP排序-通过Unix时间戳对多维数组进行排序

使用坐标对最近的位置进行排序?

PHP-通过arrays键对数组数组进行排序

PHP - 如何按键对多维数组进行排序?

如何对PHP数组索引进行排序?

如何使用PHP对数组进行排序

如何通过给定键的值对关联数组进行排序并在php中维护键?

如何通过数组字段值对数组进行排序

如何通过子数组js的总和对数组进行排序

如何重新计算相对坐标?

如何获取视图的绝对坐标

如何对char数组中的位置进行重新排序

如何按位置对矩形数组进行排序?

数组:如何通过自然顺序排序获取文件位置?